ucservice 1.1.2 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ucservice.common.js +247 -246
- package/dist/ucservice.common.js.gz +0 -0
- package/dist/ucservice.common.js.map +1 -1
- package/dist/ucservice.umd.js +247 -246
- package/dist/ucservice.umd.js.gz +0 -0
- package/dist/ucservice.umd.js.map +1 -1
- package/dist/ucservice.umd.min.js +1 -1
- package/dist/ucservice.umd.min.js.gz +0 -0
- package/dist/ucservice.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/scooper.video.js +249 -248
package/dist/ucservice.common.js
CHANGED
|
@@ -11794,10 +11794,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11794
11794
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
11795
11795
|
} else {}
|
|
11796
11796
|
})(this, function ($, Janus, adapter) {
|
|
11797
|
+
console.log($, Janus, adapter);
|
|
11797
11798
|
"use strict";
|
|
11798
11799
|
|
|
11799
11800
|
window.console = window.console || function () {
|
|
11800
|
-
|
|
11801
|
+
let c = {};
|
|
11801
11802
|
|
|
11802
11803
|
c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function () {};
|
|
11803
11804
|
|
|
@@ -11815,9 +11816,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11815
11816
|
}
|
|
11816
11817
|
|
|
11817
11818
|
Array.prototype.indexOf = function (item) {
|
|
11818
|
-
|
|
11819
|
+
let len = this.length >>> 0; //保证结构为非负数
|
|
11819
11820
|
|
|
11820
|
-
for (
|
|
11821
|
+
for (let i = 0; i < len; i++) {
|
|
11821
11822
|
if (i in this && this[i] === item) {
|
|
11822
11823
|
return i;
|
|
11823
11824
|
}
|
|
@@ -11832,8 +11833,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11832
11833
|
*/
|
|
11833
11834
|
|
|
11834
11835
|
|
|
11835
|
-
|
|
11836
|
-
|
|
11836
|
+
let guid = function () {
|
|
11837
|
+
let id = 1;
|
|
11837
11838
|
return function () {
|
|
11838
11839
|
return 'SCVIDEO_ID_' + (++id).toString();
|
|
11839
11840
|
};
|
|
@@ -11855,7 +11856,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11855
11856
|
|
|
11856
11857
|
|
|
11857
11858
|
function cloneObj(obj) {
|
|
11858
|
-
|
|
11859
|
+
let str,
|
|
11859
11860
|
newObj = $.isArray(obj) ? [] : {};
|
|
11860
11861
|
|
|
11861
11862
|
if (typeof obj != 'object') {
|
|
@@ -11879,7 +11880,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11879
11880
|
*/
|
|
11880
11881
|
|
|
11881
11882
|
|
|
11882
|
-
|
|
11883
|
+
let showPrompt = true;
|
|
11883
11884
|
|
|
11884
11885
|
function promptSuccess(msg, type) {
|
|
11885
11886
|
console.log(msg); //panduanpromptView弹层对象是否引入
|
|
@@ -11922,7 +11923,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11922
11923
|
return;
|
|
11923
11924
|
}
|
|
11924
11925
|
|
|
11925
|
-
|
|
11926
|
+
let startTime = new Date().getTime(); // 列出相机和麦克风.
|
|
11926
11927
|
|
|
11927
11928
|
navigator.mediaDevices.enumerateDevices().then(function (devices) {
|
|
11928
11929
|
devices.forEach(function (device) {
|
|
@@ -11944,7 +11945,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11944
11945
|
|
|
11945
11946
|
|
|
11946
11947
|
function checkIsHttp() {
|
|
11947
|
-
|
|
11948
|
+
let protocolStr = document.location.protocol;
|
|
11948
11949
|
if (protocolStr == "http:" && window.location.hostname != "localhost") return true;
|
|
11949
11950
|
return false;
|
|
11950
11951
|
}
|
|
@@ -11957,7 +11958,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11957
11958
|
|
|
11958
11959
|
|
|
11959
11960
|
function checkIsHttps() {
|
|
11960
|
-
|
|
11961
|
+
let protocolStr = document.location.protocol;
|
|
11961
11962
|
if (protocolStr == "https:") return true;
|
|
11962
11963
|
return false;
|
|
11963
11964
|
}
|
|
@@ -11978,7 +11979,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11978
11979
|
*/
|
|
11979
11980
|
|
|
11980
11981
|
|
|
11981
|
-
|
|
11982
|
+
let PollTimer =
|
|
11982
11983
|
/** @class */
|
|
11983
11984
|
function () {
|
|
11984
11985
|
function PollTimer(cb, time) {
|
|
@@ -12001,7 +12002,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12001
12002
|
return PollTimer;
|
|
12002
12003
|
}();
|
|
12003
12004
|
|
|
12004
|
-
|
|
12005
|
+
let waitTimerId = 0;
|
|
12005
12006
|
|
|
12006
12007
|
function wait(time) {
|
|
12007
12008
|
return new Promise(function (resolve, reject) {
|
|
@@ -12034,7 +12035,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12034
12035
|
return;
|
|
12035
12036
|
}
|
|
12036
12037
|
|
|
12037
|
-
|
|
12038
|
+
let t = this._listeners,
|
|
12038
12039
|
id;
|
|
12039
12040
|
|
|
12040
12041
|
if (typeof key == "string" && key) {
|
|
@@ -12058,7 +12059,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12058
12059
|
*/
|
|
12059
12060
|
removeListener: function (type, handler) {
|
|
12060
12061
|
type.indexOf("on") != 0 && (type = "on" + type);
|
|
12061
|
-
|
|
12062
|
+
let t = this._listeners;
|
|
12062
12063
|
|
|
12063
12064
|
if (!t[type]) {
|
|
12064
12065
|
return;
|
|
@@ -12087,11 +12088,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12087
12088
|
|
|
12088
12089
|
options = options || {};
|
|
12089
12090
|
|
|
12090
|
-
for (
|
|
12091
|
+
for (let i in options) {
|
|
12091
12092
|
e[i] = options[i];
|
|
12092
12093
|
}
|
|
12093
12094
|
|
|
12094
|
-
|
|
12095
|
+
let i,
|
|
12095
12096
|
t = this._listeners,
|
|
12096
12097
|
p = e.type;
|
|
12097
12098
|
e.target || (e.target = this);
|
|
@@ -12108,7 +12109,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12108
12109
|
return e.returnValue;
|
|
12109
12110
|
}
|
|
12110
12111
|
};
|
|
12111
|
-
|
|
12112
|
+
let videoListener = new Listener();
|
|
12112
12113
|
/**
|
|
12113
12114
|
* 使用ocx方式的video工具类
|
|
12114
12115
|
* @author savage
|
|
@@ -12154,7 +12155,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12154
12155
|
|
|
12155
12156
|
this._obj.SCWebSetCurrentWindow(index);
|
|
12156
12157
|
|
|
12157
|
-
|
|
12158
|
+
let playId = this._obj.SCWebRealPlay(video, this._opts.streamType);
|
|
12158
12159
|
|
|
12159
12160
|
console.log("play = " + playId);
|
|
12160
12161
|
opts = opts || {};
|
|
@@ -12166,7 +12167,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12166
12167
|
}, this.dispatch('playsuccess', this.videoStatus[index]));
|
|
12167
12168
|
|
|
12168
12169
|
if (playId < 0) {
|
|
12169
|
-
|
|
12170
|
+
let name = opts.name || '视频';
|
|
12170
12171
|
promptFailed(name + '播放失败!');
|
|
12171
12172
|
}
|
|
12172
12173
|
|
|
@@ -12179,7 +12180,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12179
12180
|
* 返回true/false
|
|
12180
12181
|
*/
|
|
12181
12182
|
playByOrder: function (video, id, opts) {
|
|
12182
|
-
|
|
12183
|
+
let freeWindow = this._getMinIndexFreeWindow(0);
|
|
12183
12184
|
|
|
12184
12185
|
if (freeWindow == -1 || this._getChoiceWindow() != -1 && !this.getInChoiceVideo()) {
|
|
12185
12186
|
return this.playInChoice(video, id, opts);
|
|
@@ -12192,12 +12193,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12192
12193
|
* 扩展视频窗口数的播放方式
|
|
12193
12194
|
*/
|
|
12194
12195
|
playByOrderExpandWindow: function (video, id, opts) {
|
|
12195
|
-
|
|
12196
|
+
let freeWindow = this._getMinIndexFreeWindow(0);
|
|
12196
12197
|
|
|
12197
|
-
|
|
12198
|
+
let maxWindows = this._opts.windowsNum || 16;
|
|
12198
12199
|
|
|
12199
12200
|
while (this._opts.windows < maxWindows && freeWindow == -1) {
|
|
12200
|
-
|
|
12201
|
+
let zoom = Math.sqrt(this._opts.windows * 1) + 1;
|
|
12201
12202
|
|
|
12202
12203
|
if (this._opts.windows == 6) {
|
|
12203
12204
|
this.setWindowsNum(9);
|
|
@@ -12223,7 +12224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12223
12224
|
throw new Error('windows is not enough');
|
|
12224
12225
|
}
|
|
12225
12226
|
|
|
12226
|
-
|
|
12227
|
+
let me = this;
|
|
12227
12228
|
me.closeAll();
|
|
12228
12229
|
$.each(array, function (i, obj) {
|
|
12229
12230
|
me.play(i, obj.video, obj.id, obj.opts);
|
|
@@ -12234,7 +12235,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12234
12235
|
* 在鼠标选中的窗口中播放视频
|
|
12235
12236
|
*/
|
|
12236
12237
|
playInChoice: function (video, id, opts) {
|
|
12237
|
-
|
|
12238
|
+
let index = this._obj.SCWebGetCurrentWindowIndex();
|
|
12238
12239
|
|
|
12239
12240
|
this.videoStatus[index] && this.close(index);
|
|
12240
12241
|
return this.play(index, video, id, opts);
|
|
@@ -12244,7 +12245,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12244
12245
|
* 如果被指定的窗口有视频id,则播放
|
|
12245
12246
|
*/
|
|
12246
12247
|
playMulWindows: function (indexs) {
|
|
12247
|
-
|
|
12248
|
+
let me = this;
|
|
12248
12249
|
$.each(indexs, function (i, index) {
|
|
12249
12250
|
me.videoStatus[index] && me.play(index, me.videoStatus[index].video, me.videoStatus[index].id);
|
|
12250
12251
|
});
|
|
@@ -12254,7 +12255,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12254
12255
|
* 检索当前点的视频是否被播放,被播放则返回播放的视频窗口
|
|
12255
12256
|
*/
|
|
12256
12257
|
isPlaying: function (id) {
|
|
12257
|
-
|
|
12258
|
+
let index = -1;
|
|
12258
12259
|
$.each(this.videoStatus, function (key, val) {
|
|
12259
12260
|
if (id == val.id) {
|
|
12260
12261
|
index = key;
|
|
@@ -12292,7 +12293,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12292
12293
|
* IE下才有该方法
|
|
12293
12294
|
*/
|
|
12294
12295
|
getWindowByPlayId: function (playId) {
|
|
12295
|
-
|
|
12296
|
+
let index = -1;
|
|
12296
12297
|
$.each(this.videoStatus, function (key, val) {
|
|
12297
12298
|
if (playId == val.playId) {
|
|
12298
12299
|
index = key;
|
|
@@ -12321,7 +12322,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12321
12322
|
|
|
12322
12323
|
this._obj.SCWebSetCurrentWindow(index);
|
|
12323
12324
|
|
|
12324
|
-
|
|
12325
|
+
let close = this._obj.SCWebStopRealPlay(this.videoStatus[index].playId);
|
|
12325
12326
|
|
|
12326
12327
|
console.log("close = " + close);
|
|
12327
12328
|
|
|
@@ -12335,20 +12336,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12335
12336
|
* 关闭指定视频编号正在播放的视频
|
|
12336
12337
|
*/
|
|
12337
12338
|
closeByVideo: function (video, isSave) {
|
|
12338
|
-
|
|
12339
|
+
let me = this;
|
|
12339
12340
|
|
|
12340
12341
|
if (video == undefined) {
|
|
12341
12342
|
console.info('video参数错误');
|
|
12342
12343
|
return;
|
|
12343
12344
|
}
|
|
12344
12345
|
|
|
12345
|
-
|
|
12346
|
+
let videoData = me.videoStatus;
|
|
12346
12347
|
|
|
12347
12348
|
if (!videoData || videoData.length == 0) {
|
|
12348
12349
|
return;
|
|
12349
12350
|
}
|
|
12350
12351
|
|
|
12351
|
-
for (
|
|
12352
|
+
for (let i in videoData) {
|
|
12352
12353
|
if (video == videoData[i].video) {
|
|
12353
12354
|
me.close(videoData[i].index);
|
|
12354
12355
|
}
|
|
@@ -12359,11 +12360,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12359
12360
|
*
|
|
12360
12361
|
*/
|
|
12361
12362
|
closeHistory: function (playId) {
|
|
12362
|
-
|
|
12363
|
+
let close = this._obj.SCWebStopRealPlay(playId);
|
|
12363
12364
|
|
|
12364
12365
|
console.log("close = " + close);
|
|
12365
12366
|
|
|
12366
|
-
|
|
12367
|
+
let index = this._getChoiceWindow();
|
|
12367
12368
|
|
|
12368
12369
|
delete this.videoStatus[index];
|
|
12369
12370
|
},
|
|
@@ -12373,10 +12374,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12373
12374
|
* TODO 不可关闭
|
|
12374
12375
|
*/
|
|
12375
12376
|
closeAll: function (isSave) {
|
|
12376
|
-
|
|
12377
|
+
let me = this;
|
|
12377
12378
|
isSave || (this._disableClosed = []);
|
|
12378
12379
|
|
|
12379
|
-
|
|
12380
|
+
let windows = me._obj.SCWebGetRealPlayWindows();
|
|
12380
12381
|
|
|
12381
12382
|
console.log('要关闭的视频窗:' + windows);
|
|
12382
12383
|
|
|
@@ -12393,9 +12394,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12393
12394
|
* @returns
|
|
12394
12395
|
*/
|
|
12395
12396
|
getWindowsPlay: function () {
|
|
12396
|
-
|
|
12397
|
+
let me = this;
|
|
12397
12398
|
|
|
12398
|
-
|
|
12399
|
+
let windows = me._obj.SCWebGetRealPlayWindows();
|
|
12399
12400
|
|
|
12400
12401
|
return windows;
|
|
12401
12402
|
},
|
|
@@ -12425,9 +12426,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12425
12426
|
* 设置视频窗口数
|
|
12426
12427
|
*/
|
|
12427
12428
|
setWindowsNum: function (num, extra) {
|
|
12428
|
-
|
|
12429
|
+
let me = this;
|
|
12429
12430
|
num = num * 1;
|
|
12430
|
-
|
|
12431
|
+
let result;
|
|
12431
12432
|
|
|
12432
12433
|
if (extra) {
|
|
12433
12434
|
result = me._obj.SCWebDecoderSetExtraScreenMode(num);
|
|
@@ -12478,7 +12479,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12478
12479
|
|
|
12479
12480
|
time = $.isNumeric(time) ? time : this._opts.pollInterval;
|
|
12480
12481
|
this._pollArray = array;
|
|
12481
|
-
|
|
12482
|
+
let me = this,
|
|
12482
12483
|
windowNum = me._opts.windows,
|
|
12483
12484
|
maxNum = array.length,
|
|
12484
12485
|
nowNum = 0;
|
|
@@ -12493,7 +12494,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12493
12494
|
}
|
|
12494
12495
|
|
|
12495
12496
|
me.delayTimeId = setTimeout(function () {
|
|
12496
|
-
for (
|
|
12497
|
+
for (let i = 0; i < windowNum; i++) {
|
|
12497
12498
|
if (nowNum == maxNum) {
|
|
12498
12499
|
nowNum = 0;
|
|
12499
12500
|
|
|
@@ -12567,33 +12568,33 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12567
12568
|
* cruiserun 启动巡航
|
|
12568
12569
|
*/
|
|
12569
12570
|
holder: function (type, opts, isStop) {
|
|
12570
|
-
|
|
12571
|
+
let index = this._getChoiceWindow();
|
|
12571
12572
|
|
|
12572
12573
|
if (!this.videoStatus[index]) {
|
|
12573
12574
|
promptAlarm('未选中播放的视频!');
|
|
12574
12575
|
return;
|
|
12575
12576
|
}
|
|
12576
12577
|
|
|
12577
|
-
|
|
12578
|
-
|
|
12578
|
+
let holdType = 'up down left right upleft upright downleft downright zoomin zoomout focusnear focusfar irisopen irisclose pointset pointdel pointgoto ' + 'scansetleft scansetright scansetspeed scanrun cruiseadd cruisedel cruisespeed cruisepausetime cruiserun';
|
|
12579
|
+
let typeVal = Number(holdType.split(' ').indexOf(type)) + Number(1);
|
|
12579
12580
|
console.log("holdType:" + typeVal + " type:" + type + (isStop ? ' 停止' : ''));
|
|
12580
12581
|
|
|
12581
12582
|
if (!typeVal || typeVal <= 0) {
|
|
12582
12583
|
console.error('异常PTZ指令:' + typeVal);
|
|
12583
12584
|
}
|
|
12584
12585
|
|
|
12585
|
-
|
|
12586
|
+
let video = this.videoStatus[index].video;
|
|
12586
12587
|
|
|
12587
12588
|
if (isStop) {
|
|
12588
|
-
//
|
|
12589
|
-
|
|
12589
|
+
//let playerId = this._obj.SCWebGetCurrentPlayID();
|
|
12590
|
+
let result = this._obj.SCWebPTZControl(video, 1, typeVal, 0, 0, 0, 0); //let result = this._obj.SCWebPTZControlEx(playerId, 4, 1, 1);
|
|
12590
12591
|
|
|
12591
12592
|
|
|
12592
12593
|
console.log(">>>>yuntai control,stop, video=" + video + ", result=" + result);
|
|
12593
12594
|
return;
|
|
12594
12595
|
}
|
|
12595
12596
|
|
|
12596
|
-
|
|
12597
|
+
let _opts = {
|
|
12597
12598
|
speed: 200,
|
|
12598
12599
|
group: 0,
|
|
12599
12600
|
present: 0,
|
|
@@ -12613,19 +12614,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12613
12614
|
* @return playId
|
|
12614
12615
|
*/
|
|
12615
12616
|
playHistory: function (video, startTime, endTime, opts) {
|
|
12616
|
-
|
|
12617
|
+
let me = this;
|
|
12617
12618
|
|
|
12618
|
-
|
|
12619
|
+
let playId = me._obj.SCWebHistoryPlay(video, startTime, endTime);
|
|
12619
12620
|
|
|
12620
12621
|
console.log("play = " + playId);
|
|
12621
12622
|
|
|
12622
12623
|
if (playId < 0) {
|
|
12623
|
-
|
|
12624
|
+
let name = opts.name || '视频';
|
|
12624
12625
|
promptFailed(name + '播放失败!');
|
|
12625
12626
|
return playId;
|
|
12626
12627
|
}
|
|
12627
12628
|
|
|
12628
|
-
|
|
12629
|
+
let index = me._getChoiceWindow();
|
|
12629
12630
|
|
|
12630
12631
|
opts = opts || {};
|
|
12631
12632
|
playId > 0 && (me.videoStatus[index] = {
|
|
@@ -12646,11 +12647,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12646
12647
|
* @param {string} startTime 回放时间(暂时无用)
|
|
12647
12648
|
*/
|
|
12648
12649
|
historyControl: function (playId, playType, playSpeed, startTime) {
|
|
12649
|
-
|
|
12650
|
+
let contorlType = {
|
|
12650
12651
|
play: 1,
|
|
12651
12652
|
pause: 2
|
|
12652
12653
|
};
|
|
12653
|
-
|
|
12654
|
+
let playCommand = contorlType[playType];
|
|
12654
12655
|
|
|
12655
12656
|
if (!playCommand) {
|
|
12656
12657
|
console.error('unsupported type: ', playType);
|
|
@@ -12664,12 +12665,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12664
12665
|
* 历史流控制(原)
|
|
12665
12666
|
*/
|
|
12666
12667
|
_historyControl: function (playId, type, speed, startTime) {
|
|
12667
|
-
|
|
12668
|
+
let contorlType = {
|
|
12668
12669
|
normal: 1,
|
|
12669
12670
|
pause: 2,
|
|
12670
12671
|
'continue': 3
|
|
12671
12672
|
};
|
|
12672
|
-
|
|
12673
|
+
let commad = 1;
|
|
12673
12674
|
type == 'speed' ? speed && speed < 1 ? (commad = 7, speed = 1 / speed) : commad = 6 : commad = contorlType[type];
|
|
12674
12675
|
|
|
12675
12676
|
this._obj.SCWebHistoryControl(playId, commad, speed);
|
|
@@ -12687,7 +12688,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12687
12688
|
* @return 0:失败|1:成功
|
|
12688
12689
|
*/
|
|
12689
12690
|
capturePicture: function (playId) {
|
|
12690
|
-
|
|
12691
|
+
let videoCapImagePath = this._opts.videoCapImagePath ? this._opts.videoCapImagePath : '';
|
|
12691
12692
|
return this._obj.SCWebCapturePicture(playId, videoCapImagePath, '');
|
|
12692
12693
|
},
|
|
12693
12694
|
saveList: function () {
|
|
@@ -12699,7 +12700,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12699
12700
|
}
|
|
12700
12701
|
|
|
12701
12702
|
this.closeAll();
|
|
12702
|
-
|
|
12703
|
+
let me = this;
|
|
12703
12704
|
$.each(this._saveList, function (index, obj) {
|
|
12704
12705
|
me.play(index, obj.video, obj.id, obj.opts);
|
|
12705
12706
|
});
|
|
@@ -12737,7 +12738,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12737
12738
|
* 获取截屏数据
|
|
12738
12739
|
*/
|
|
12739
12740
|
getScreenCaptureData: function (index, callback) {
|
|
12740
|
-
|
|
12741
|
+
let msg = 'IE下暂不支持获取截屏数据!';
|
|
12741
12742
|
console.log(msg);
|
|
12742
12743
|
throw Error(msg);
|
|
12743
12744
|
},
|
|
@@ -12773,7 +12774,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12773
12774
|
/*
|
|
12774
12775
|
* 总的初始化
|
|
12775
12776
|
* 参数示例:
|
|
12776
|
-
*
|
|
12777
|
+
* let opts = {
|
|
12777
12778
|
windows: 4, //初始化的窗口数
|
|
12778
12779
|
conf: { //配置参数
|
|
12779
12780
|
user: conf['video.username'], //用户名
|
|
@@ -12791,7 +12792,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12791
12792
|
};
|
|
12792
12793
|
*/
|
|
12793
12794
|
_init: function ($dom, opts) {
|
|
12794
|
-
|
|
12795
|
+
let me = this; //配置项
|
|
12795
12796
|
|
|
12796
12797
|
me._opts = {
|
|
12797
12798
|
windows: 4,
|
|
@@ -12805,7 +12806,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12805
12806
|
pollInterval: 10
|
|
12806
12807
|
};
|
|
12807
12808
|
$.extend(me._opts, opts);
|
|
12808
|
-
|
|
12809
|
+
let windowsArr = me._opts.windowsArr;
|
|
12809
12810
|
|
|
12810
12811
|
if (!windowsArr || windowsArr.length == 0) {
|
|
12811
12812
|
me._windowList = {
|
|
@@ -12819,8 +12820,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12819
12820
|
} else {
|
|
12820
12821
|
me._windowList = {};
|
|
12821
12822
|
|
|
12822
|
-
for (
|
|
12823
|
-
|
|
12823
|
+
for (let index in windowsArr) {
|
|
12824
|
+
let item = windowsArr[index];
|
|
12824
12825
|
me._windowList[item] = {};
|
|
12825
12826
|
}
|
|
12826
12827
|
|
|
@@ -12863,14 +12864,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12863
12864
|
});
|
|
12864
12865
|
$dom.append(me._obj);
|
|
12865
12866
|
me._obj = me._obj[0];
|
|
12866
|
-
|
|
12867
|
+
let conf = me._opts.conf; //初始化和登录
|
|
12867
12868
|
|
|
12868
|
-
|
|
12869
|
+
let init = me._obj.ScWebDecoderInit(0);
|
|
12869
12870
|
|
|
12870
12871
|
console.log('init:' + init); //是否开启抓图
|
|
12871
12872
|
|
|
12872
12873
|
conf.ip == '127.0.0.1' && (conf.ip = location.hostname);
|
|
12873
|
-
|
|
12874
|
+
let login;
|
|
12874
12875
|
|
|
12875
12876
|
if (conf.token && conf.token.length > 0 && me._obj.SCWebDecoderLoginInVS_Token) {
|
|
12876
12877
|
login = me._obj.SCWebDecoderLoginInVS_Token(conf.token, conf.ip, conf.port);
|
|
@@ -12891,8 +12892,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12891
12892
|
* TODO 添加注释
|
|
12892
12893
|
*/
|
|
12893
12894
|
_getTipObj: function () {
|
|
12894
|
-
|
|
12895
|
-
|
|
12895
|
+
let obj = {};
|
|
12896
|
+
let fncName = 'play playByOrder playAll playInChoice playMulWindows click getWindowsNum setWindowsNum',
|
|
12896
12897
|
fncName2 = 'isPlaying setChoiceWindow close closeAll enableClosede disableClosed addListener removeListener dispatch';
|
|
12897
12898
|
$.each(fncName.split(' '), function (i, name) {
|
|
12898
12899
|
obj[name] = function () {
|
|
@@ -12913,7 +12914,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12913
12914
|
*/
|
|
12914
12915
|
_getMinIndexFreeWindow: function (searchedZoom) {
|
|
12915
12916
|
searchedZoom = searchedZoom || 0;
|
|
12916
|
-
|
|
12917
|
+
let index = Math.ceil(Math.pow(searchedZoom, 2));
|
|
12917
12918
|
|
|
12918
12919
|
for (; index < this._opts.windows; index++) {
|
|
12919
12920
|
if (!this.videoStatus[index]) {
|
|
@@ -12928,8 +12929,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12928
12929
|
* 获取选择的窗口的编号
|
|
12929
12930
|
*/
|
|
12930
12931
|
_getChoiceWindow: function () {
|
|
12931
|
-
//
|
|
12932
|
-
//
|
|
12932
|
+
// let playId = this._obj.SCWebGetCurrentPlayID();
|
|
12933
|
+
// let index;
|
|
12933
12934
|
// if (playId > 0) {
|
|
12934
12935
|
// index = this._obj.SCWebGetRealPlayWindows().split(',')[0];
|
|
12935
12936
|
// this.setChoiceWindow(index ? index : 0);
|
|
@@ -12943,7 +12944,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12943
12944
|
*/
|
|
12944
12945
|
|
|
12945
12946
|
/* _changeWindowsAction: function(num) {
|
|
12946
|
-
|
|
12947
|
+
let me = this,
|
|
12947
12948
|
old = me._opts.windows,
|
|
12948
12949
|
now = num,
|
|
12949
12950
|
oldZoom = Math.sqrt(old),
|
|
@@ -12954,7 +12955,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12954
12955
|
if (me._opts.openChangeWindowStrategy) {
|
|
12955
12956
|
if (old > now) {
|
|
12956
12957
|
for (; now < old ; now++) {
|
|
12957
|
-
|
|
12958
|
+
let tempZoom = Math.ceil(Math.sqrt(now+1));
|
|
12958
12959
|
|
|
12959
12960
|
me.videoStatus[now] && (me._windowList[tempZoom][now] = {
|
|
12960
12961
|
video: me.videoStatus[now].video,
|
|
@@ -12986,7 +12987,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12986
12987
|
* 切换分屏
|
|
12987
12988
|
*/
|
|
12988
12989
|
_changeWindowsAction: function (num) {
|
|
12989
|
-
|
|
12990
|
+
let me = this,
|
|
12990
12991
|
old = me._opts.windows,
|
|
12991
12992
|
now = num; // oldZoom = Math.sqrt(old),
|
|
12992
12993
|
// nowZoom = Math.sqrt(now);
|
|
@@ -12998,8 +12999,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12998
12999
|
if (me._opts.openChangeWindowStrategy) {
|
|
12999
13000
|
if (old > now) {
|
|
13000
13001
|
for (; now < old; now++) {
|
|
13001
|
-
//
|
|
13002
|
-
|
|
13002
|
+
//let tempZoom = Math.ceil(Math.sqrt(now+1));
|
|
13003
|
+
let tempZoom = me._getWindowsNum(now + 1);
|
|
13003
13004
|
|
|
13004
13005
|
me.videoStatus[now] && (me._windowList[tempZoom][now] = {
|
|
13005
13006
|
video: me.videoStatus[now].video,
|
|
@@ -13030,10 +13031,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13030
13031
|
* now为当前窗口的编号
|
|
13031
13032
|
*/
|
|
13032
13033
|
_getWindowsNum: function (now) {
|
|
13033
|
-
|
|
13034
|
-
|
|
13034
|
+
let me = this;
|
|
13035
|
+
let windowsArr = me._windowsArr;
|
|
13035
13036
|
|
|
13036
|
-
for (
|
|
13037
|
+
for (let index in windowsArr) {
|
|
13037
13038
|
if (now <= windowsArr[index]) {
|
|
13038
13039
|
return windowsArr[index];
|
|
13039
13040
|
}
|
|
@@ -13044,10 +13045,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13044
13045
|
* 获取下一窗口
|
|
13045
13046
|
*/
|
|
13046
13047
|
_getNextWindowsNum: function (old) {
|
|
13047
|
-
|
|
13048
|
-
|
|
13048
|
+
let me = this;
|
|
13049
|
+
let windowsArr = me._windowsArr;
|
|
13049
13050
|
|
|
13050
|
-
for (
|
|
13051
|
+
for (let index in windowsArr) {
|
|
13051
13052
|
if (index == windowsArr.length - 1) {
|
|
13052
13053
|
return windowsArr[index];
|
|
13053
13054
|
}
|
|
@@ -13058,7 +13059,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13058
13059
|
}
|
|
13059
13060
|
},
|
|
13060
13061
|
_addStopHandler: function () {
|
|
13061
|
-
|
|
13062
|
+
let me = this;
|
|
13062
13063
|
|
|
13063
13064
|
window.stopVideo = function (playId, videoId) {
|
|
13064
13065
|
if (me.getWindowByPlayId(playId) != -1 && me.videoStatus[me.getWindowByPlayId(playId)].isPlayBack) {
|
|
@@ -13076,7 +13077,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13076
13077
|
me._regEvent('SCWebStopVideoEvent(playId,videoId)', 'stopVideo(playId,videoId);');
|
|
13077
13078
|
},
|
|
13078
13079
|
_addClickHandler: function () {
|
|
13079
|
-
|
|
13080
|
+
let me = this;
|
|
13080
13081
|
|
|
13081
13082
|
window.clickVideo = function (playId) {
|
|
13082
13083
|
me.dispatch('click', me.videoStatus[me.getWindowByPlayId(playId)]);
|
|
@@ -13085,7 +13086,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13085
13086
|
me._regEvent('SCWebDecoderClick(playId,type)', 'clickVideo(playId);');
|
|
13086
13087
|
},
|
|
13087
13088
|
_addHisHandler: function () {
|
|
13088
|
-
|
|
13089
|
+
let me = this;
|
|
13089
13090
|
|
|
13090
13091
|
window.playbackVideo = function (playId, videoId, historytime) {
|
|
13091
13092
|
me.dispatch('playback', {
|
|
@@ -13099,7 +13100,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13099
13100
|
},
|
|
13100
13101
|
//监听截图事件
|
|
13101
13102
|
_addCapPicHandler: function () {
|
|
13102
|
-
|
|
13103
|
+
let me = this;
|
|
13103
13104
|
|
|
13104
13105
|
window.getCapPicPath = function (playId, capPicPath, capPicName) {
|
|
13105
13106
|
me.dispatch('getCapPicPath', {
|
|
@@ -13113,7 +13114,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13113
13114
|
},
|
|
13114
13115
|
//监听点击视频框的历史回放
|
|
13115
13116
|
_addHistoryPlayHandler: function () {
|
|
13116
|
-
|
|
13117
|
+
let me = this;
|
|
13117
13118
|
|
|
13118
13119
|
window.historyPlay = function (playId, videoId) {
|
|
13119
13120
|
me.dispatch('historyPlay', {
|
|
@@ -13126,7 +13127,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13126
13127
|
},
|
|
13127
13128
|
_regEvent: function (eventName, handlerName) {
|
|
13128
13129
|
window._addScriptFlag = true;
|
|
13129
|
-
|
|
13130
|
+
let script;
|
|
13130
13131
|
|
|
13131
13132
|
try {
|
|
13132
13133
|
script = $('<script>').attr({
|
|
@@ -13140,7 +13141,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13140
13141
|
$('body').append(script);
|
|
13141
13142
|
},
|
|
13142
13143
|
_beforeUnload: function () {
|
|
13143
|
-
|
|
13144
|
+
let me = this;
|
|
13144
13145
|
|
|
13145
13146
|
window.onbeforeunload = function (e) {
|
|
13146
13147
|
me.closeAll();
|
|
@@ -13154,7 +13155,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13154
13155
|
*/
|
|
13155
13156
|
|
|
13156
13157
|
function VideoWebRtc($dom, opts) {
|
|
13157
|
-
|
|
13158
|
+
let _self = this;
|
|
13158
13159
|
|
|
13159
13160
|
if (!opts) {
|
|
13160
13161
|
console.error('VideoWebRtc的参数opts不能为空');
|
|
@@ -13164,8 +13165,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13164
13165
|
hasMediaDevices(); //检测声卡设备为异步方法,耗时在几十毫秒左右,因此需要做延迟
|
|
13165
13166
|
//默认检查次数为40 间隔为20ms
|
|
13166
13167
|
|
|
13167
|
-
|
|
13168
|
-
|
|
13168
|
+
let count = 0;
|
|
13169
|
+
let index = setInterval(function () {
|
|
13169
13170
|
if (count == 40) {
|
|
13170
13171
|
clearInterval(index);
|
|
13171
13172
|
|
|
@@ -13197,7 +13198,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13197
13198
|
* 返回true/false
|
|
13198
13199
|
*/
|
|
13199
13200
|
play: function (index, video, id, opts) {
|
|
13200
|
-
|
|
13201
|
+
let me = this; // if (me.isPlaying(id) != -1) {
|
|
13201
13202
|
// console.info('该视频正在播放');
|
|
13202
13203
|
// return false;
|
|
13203
13204
|
// }
|
|
@@ -13233,7 +13234,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13233
13234
|
* 返回true/false
|
|
13234
13235
|
*/
|
|
13235
13236
|
playByOrder: function (video, id, opts) {
|
|
13236
|
-
|
|
13237
|
+
let freeWindow = this._getMinIndexFreeWindow();
|
|
13237
13238
|
|
|
13238
13239
|
if (freeWindow == -1 || this._getChoiceWindow() != -1 && !this.getInChoiceVideo() && this._opts.windowsNum > 1) {
|
|
13239
13240
|
return this.playInChoice(video, id, opts);
|
|
@@ -13246,18 +13247,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13246
13247
|
* 扩展视频窗口数的播放方式
|
|
13247
13248
|
*/
|
|
13248
13249
|
playByOrderExpandWindow: function (video, id, opts) {
|
|
13249
|
-
|
|
13250
|
+
let me = this;
|
|
13250
13251
|
|
|
13251
|
-
|
|
13252
|
+
let freeWindow = this._getMinIndexFreeWindow(); // while (this._opts.windows < 16 && freeWindow == -1) {
|
|
13252
13253
|
// me.setWindowsNum(me._getNextWindowsNum(parseInt(me._opts.windows)));
|
|
13253
13254
|
// freeWindow = this._getMinIndexFreeWindow(0);
|
|
13254
13255
|
// }
|
|
13255
13256
|
|
|
13256
13257
|
|
|
13257
|
-
|
|
13258
|
+
let maxWindows = this._opts.windowsNum || 16;
|
|
13258
13259
|
|
|
13259
13260
|
while (me._opts.windows < maxWindows && freeWindow == -1) {
|
|
13260
|
-
|
|
13261
|
+
let zoom = Math.sqrt(this._opts.windows * 1) + 1;
|
|
13261
13262
|
|
|
13262
13263
|
if (this._opts.windows == 6) {
|
|
13263
13264
|
this.setWindowsNum(9);
|
|
@@ -13287,7 +13288,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13287
13288
|
throw new Error('windows is not enough');
|
|
13288
13289
|
}
|
|
13289
13290
|
|
|
13290
|
-
|
|
13291
|
+
let me = this;
|
|
13291
13292
|
me.closeAll();
|
|
13292
13293
|
$.each(array, function (i, obj) {
|
|
13293
13294
|
me.play(i, obj.video, obj.id, obj.opts);
|
|
@@ -13298,8 +13299,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13298
13299
|
* 在鼠标选中的窗口中播放视频
|
|
13299
13300
|
*/
|
|
13300
13301
|
playInChoice: function (video, id, opts) {
|
|
13301
|
-
|
|
13302
|
-
|
|
13302
|
+
let me = this;
|
|
13303
|
+
let selView = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li.sel');
|
|
13303
13304
|
|
|
13304
13305
|
if (selView.length) {
|
|
13305
13306
|
if (me.VIDEO_DATA[selView.index()].playing) {
|
|
@@ -13318,8 +13319,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13318
13319
|
* 检索当前点的视频是否被播放,被播放则返回播放的视频窗口
|
|
13319
13320
|
*/
|
|
13320
13321
|
isPlaying: function (id) {
|
|
13321
|
-
|
|
13322
|
-
|
|
13322
|
+
let me = this;
|
|
13323
|
+
let index = -1;
|
|
13323
13324
|
$.each(me.VIDEO_DATA, function (key, val) {
|
|
13324
13325
|
if (id == val.id && me.VIDEO_DATA[key].playing) {
|
|
13325
13326
|
index = key;
|
|
@@ -13332,7 +13333,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13332
13333
|
* 判断指定窗口是否正在播放视频
|
|
13333
13334
|
*/
|
|
13334
13335
|
isPlayingByIndex: function (index) {
|
|
13335
|
-
|
|
13336
|
+
let me = this;
|
|
13336
13337
|
if (index > me.VIDEO_DATA.length - 1 || index < 0) return false;
|
|
13337
13338
|
return me.VIDEO_DATA[index].playing;
|
|
13338
13339
|
},
|
|
@@ -13364,20 +13365,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13364
13365
|
* 关闭指定视频编号正在播放的视频
|
|
13365
13366
|
*/
|
|
13366
13367
|
closeByVideo: function (video, isSave) {
|
|
13367
|
-
|
|
13368
|
+
let me = this;
|
|
13368
13369
|
|
|
13369
13370
|
if (video == undefined) {
|
|
13370
13371
|
console.info('video参数错误');
|
|
13371
13372
|
return;
|
|
13372
13373
|
}
|
|
13373
13374
|
|
|
13374
|
-
|
|
13375
|
+
let videoData = me.VIDEO_DATA;
|
|
13375
13376
|
|
|
13376
13377
|
if (!videoData || videoData.length == 0) {
|
|
13377
13378
|
return;
|
|
13378
13379
|
}
|
|
13379
13380
|
|
|
13380
|
-
for (
|
|
13381
|
+
for (let i in videoData) {
|
|
13381
13382
|
if (video == videoData[i].video) {
|
|
13382
13383
|
me.close(videoData[i].index);
|
|
13383
13384
|
|
|
@@ -13392,18 +13393,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13392
13393
|
* 关闭所有视频
|
|
13393
13394
|
*/
|
|
13394
13395
|
closeAll: function (isSave) {
|
|
13395
|
-
|
|
13396
|
-
|
|
13396
|
+
let me = this;
|
|
13397
|
+
let openVideos = [];
|
|
13397
13398
|
|
|
13398
|
-
for (
|
|
13399
|
+
for (let i = me._opts.windowsBeginIndex; i < me._opts.windowsBeginIndex + me._opts.windowsNum; i++) {
|
|
13399
13400
|
if (me.VIDEO_DATA[i].playing) {
|
|
13400
13401
|
me.close(i, isSave);
|
|
13401
13402
|
}
|
|
13402
13403
|
} // if(!openVideos.length) return;
|
|
13403
13404
|
//
|
|
13404
13405
|
// //适当延时进行关闭
|
|
13405
|
-
//
|
|
13406
|
-
//
|
|
13406
|
+
// let count = 0;
|
|
13407
|
+
// let interval = setInterval(function(){
|
|
13407
13408
|
// if(count == openVideos.length){
|
|
13408
13409
|
// clearInterval(interval);
|
|
13409
13410
|
// }else{
|
|
@@ -13432,7 +13433,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13432
13433
|
* 分屏切换,传入的参数为新的屏数
|
|
13433
13434
|
*/
|
|
13434
13435
|
setWindowsNum: function (num) {
|
|
13435
|
-
|
|
13436
|
+
let me = this; //切换屏幕后 选中空闲最小的窗口
|
|
13436
13437
|
|
|
13437
13438
|
if (me._opts.windows != num && me._getMinIndexFreeWindow() != -1) {
|
|
13438
13439
|
me.setChoiceWindow(me._getMinIndexFreeWindow());
|
|
@@ -13440,11 +13441,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13440
13441
|
|
|
13441
13442
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]').removeClass("mode-" + me._opts.windows).addClass("mode-" + num);
|
|
13442
13443
|
|
|
13443
|
-
|
|
13444
|
+
let _li = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li').hide();
|
|
13444
13445
|
|
|
13445
13446
|
me._opts.windows = num;
|
|
13446
13447
|
|
|
13447
|
-
for (
|
|
13448
|
+
for (let i = 0; i < num; i++) {
|
|
13448
13449
|
_li.eq(i).show();
|
|
13449
13450
|
} //分屏切换事件
|
|
13450
13451
|
|
|
@@ -13473,7 +13474,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13473
13474
|
|
|
13474
13475
|
time = $.isNumeric(time) ? time : this._opts.pollInterval;
|
|
13475
13476
|
this._pollArray = array;
|
|
13476
|
-
|
|
13477
|
+
let me = this,
|
|
13477
13478
|
windowNum = me._opts.windows,
|
|
13478
13479
|
maxNum = array.length,
|
|
13479
13480
|
nowNum = 0;
|
|
@@ -13481,7 +13482,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13481
13482
|
this._polltimer = new PollTimer(function (firstRun) {
|
|
13482
13483
|
me.closeAll();
|
|
13483
13484
|
wait(500).then(function () {
|
|
13484
|
-
for (
|
|
13485
|
+
for (let i = 0; i < windowNum; i++) {
|
|
13485
13486
|
if (nowNum == maxNum) {
|
|
13486
13487
|
nowNum = 0;
|
|
13487
13488
|
|
|
@@ -13526,7 +13527,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13526
13527
|
return !!this._polltimer;
|
|
13527
13528
|
},
|
|
13528
13529
|
holder: function (type, opts, isStop) {
|
|
13529
|
-
|
|
13530
|
+
let index = this._getChoiceWindow();
|
|
13530
13531
|
|
|
13531
13532
|
if (index < 0) {
|
|
13532
13533
|
promptFailed('请先选中视频');
|
|
@@ -13543,8 +13544,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13543
13544
|
* @return playId
|
|
13544
13545
|
*/
|
|
13545
13546
|
playHistory: function (video, startTime, endTime, opts) {
|
|
13546
|
-
|
|
13547
|
-
|
|
13547
|
+
let me = this;
|
|
13548
|
+
let index; //回放是一分屏的默认使用一个窗口
|
|
13548
13549
|
|
|
13549
13550
|
if (me._opts.windowsNum == 1) {
|
|
13550
13551
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13566,10 +13567,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13566
13567
|
*/
|
|
13567
13568
|
closeHistory: function (video, index) {
|
|
13568
13569
|
if (!video) return;
|
|
13569
|
-
|
|
13570
|
+
let me = this;
|
|
13570
13571
|
|
|
13571
13572
|
if (!index) {
|
|
13572
|
-
|
|
13573
|
+
let index;
|
|
13573
13574
|
|
|
13574
13575
|
if (me._opts.windowsNum == 1) {
|
|
13575
13576
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13587,8 +13588,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13587
13588
|
* @param {string} startTime 回放时间(暂时无用)
|
|
13588
13589
|
*/
|
|
13589
13590
|
historyControl: function (video, playType, playSpeed, startTime) {
|
|
13590
|
-
|
|
13591
|
-
|
|
13591
|
+
let me = this;
|
|
13592
|
+
let index;
|
|
13592
13593
|
|
|
13593
13594
|
if (me._opts.windowsNum == 1) {
|
|
13594
13595
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13607,7 +13608,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13607
13608
|
}
|
|
13608
13609
|
|
|
13609
13610
|
this.closeAll();
|
|
13610
|
-
|
|
13611
|
+
let me = this;
|
|
13611
13612
|
$.each(this._saveList, function (index, obj) {
|
|
13612
13613
|
if (obj.video) {
|
|
13613
13614
|
me.play(obj.index, obj.video, obj.id, obj.opts);
|
|
@@ -13619,8 +13620,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13619
13620
|
* 获取当前选择窗口的视频video
|
|
13620
13621
|
*/
|
|
13621
13622
|
getInChoiceVideo: function () {
|
|
13622
|
-
|
|
13623
|
-
|
|
13623
|
+
let me = this;
|
|
13624
|
+
let selView = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li.sel');
|
|
13624
13625
|
|
|
13625
13626
|
if (selView.length && me.VIDEO_DATA[selView.index()].video) {
|
|
13626
13627
|
return me.VIDEO_DATA[selView.index()];
|
|
@@ -13648,22 +13649,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13648
13649
|
* @param callback 回调函数
|
|
13649
13650
|
*/
|
|
13650
13651
|
getScreenCaptureData: function (index, callback) {
|
|
13651
|
-
|
|
13652
|
+
let me = this; //如果index为空则使用选中窗口的index
|
|
13652
13653
|
|
|
13653
|
-
|
|
13654
|
+
let dataObj = me.VIDEO_DATA[index != undefined ? index : me._getChoiceWindow()];
|
|
13654
13655
|
|
|
13655
13656
|
if (!dataObj.playing) {
|
|
13656
13657
|
promptAlarm('请选择播放的视频源!');
|
|
13657
13658
|
return;
|
|
13658
13659
|
}
|
|
13659
13660
|
|
|
13660
|
-
|
|
13661
|
-
|
|
13661
|
+
let canvasObj = document.getElementById('myCanvas');
|
|
13662
|
+
let videoObj = dataObj.tagBox.get(0);
|
|
13662
13663
|
canvasObj.width = dataObj.tagBox.parent().width();
|
|
13663
13664
|
canvasObj.height = dataObj.tagBox.parent().height();
|
|
13664
|
-
|
|
13665
|
+
let ctx = canvasObj.getContext("2d");
|
|
13665
13666
|
ctx.drawImage(videoObj, 0, 0, dataObj.tagBox.parent().width(), dataObj.tagBox.parent().height());
|
|
13666
|
-
|
|
13667
|
+
let dataUrl = canvasObj.toDataURL('image/jpeg');
|
|
13667
13668
|
callback ? callback(dataUrl) : null;
|
|
13668
13669
|
},
|
|
13669
13670
|
|
|
@@ -13671,7 +13672,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13671
13672
|
* 开始录像
|
|
13672
13673
|
*/
|
|
13673
13674
|
startAvRecord: function (index) {
|
|
13674
|
-
|
|
13675
|
+
let me = this;
|
|
13675
13676
|
return me.VIDEO_DATA[index].recordAv("start_av_record", recordAvBusinessId);
|
|
13676
13677
|
},
|
|
13677
13678
|
|
|
@@ -13679,7 +13680,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13679
13680
|
* 结束录像
|
|
13680
13681
|
*/
|
|
13681
13682
|
stopAvRecord: function (index) {
|
|
13682
|
-
|
|
13683
|
+
let me = this;
|
|
13683
13684
|
return me.VIDEO_DATA[index].recordAv("stop_av_record", recordAvBusinessId);
|
|
13684
13685
|
},
|
|
13685
13686
|
|
|
@@ -13688,7 +13689,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13688
13689
|
* @param resolution 新分辨率
|
|
13689
13690
|
*/
|
|
13690
13691
|
changeResolution: function (index, resolution) {
|
|
13691
|
-
|
|
13692
|
+
let me = this;
|
|
13692
13693
|
return me.VIDEO_DATA[index].changeResolution("change_resolution", resolution);
|
|
13693
13694
|
},
|
|
13694
13695
|
|
|
@@ -13698,8 +13699,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13698
13699
|
* @param centerTel 调度中心号
|
|
13699
13700
|
*/
|
|
13700
13701
|
openPocCall: function (pocNo, centerTel) {
|
|
13701
|
-
|
|
13702
|
-
|
|
13702
|
+
let me = this;
|
|
13703
|
+
let index; //对讲预呼叫默认使用一个窗口
|
|
13703
13704
|
|
|
13704
13705
|
if (me._opts.windowsNum == 1) {
|
|
13705
13706
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13720,8 +13721,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13720
13721
|
* @param centerTel 调度中心号
|
|
13721
13722
|
*/
|
|
13722
13723
|
closePocCall: function (pocNo, centerTel) {
|
|
13723
|
-
|
|
13724
|
-
|
|
13724
|
+
let me = this;
|
|
13725
|
+
let index; //对讲预呼叫默认使用一个窗口
|
|
13725
13726
|
|
|
13726
13727
|
if (me._opts.windowsNum == 1) {
|
|
13727
13728
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13742,7 +13743,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13742
13743
|
* @param businessId 业务ID
|
|
13743
13744
|
*/
|
|
13744
13745
|
setRecordAvBusinessId: function (businessId) {
|
|
13745
|
-
//
|
|
13746
|
+
//let me = this;
|
|
13746
13747
|
recordAvBusinessId = businessId;
|
|
13747
13748
|
},
|
|
13748
13749
|
|
|
@@ -13750,8 +13751,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13750
13751
|
* 开启音频
|
|
13751
13752
|
*/
|
|
13752
13753
|
sendAudio: function (index) {
|
|
13753
|
-
|
|
13754
|
-
|
|
13754
|
+
let me = this;
|
|
13755
|
+
index = index != undefined ? index : me._opts.windowsBeginIndex;
|
|
13755
13756
|
me.VIDEO_DATA[index].stream.getAudioTracks()[0].enabled = true;
|
|
13756
13757
|
},
|
|
13757
13758
|
|
|
@@ -13759,8 +13760,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13759
13760
|
* 关闭音频
|
|
13760
13761
|
*/
|
|
13761
13762
|
unSendAudio: function (index) {
|
|
13762
|
-
|
|
13763
|
-
|
|
13763
|
+
let me = this;
|
|
13764
|
+
index = index != undefined ? index : me._opts.windowsBeginIndex;
|
|
13764
13765
|
me.VIDEO_DATA[index].stream.getAudioTracks()[0].enabled = false;
|
|
13765
13766
|
},
|
|
13766
13767
|
|
|
@@ -13789,7 +13790,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13789
13790
|
* 获取编号最小的空闲窗口的编号
|
|
13790
13791
|
*/
|
|
13791
13792
|
_getMinIndexFreeWindow: function (index) {
|
|
13792
|
-
|
|
13793
|
+
let me = this;
|
|
13793
13794
|
index = index || me._opts.windowsBeginIndex;
|
|
13794
13795
|
|
|
13795
13796
|
for (; index < me._opts.windowsBeginIndex + me._opts.windows; index++) {
|
|
@@ -13805,8 +13806,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13805
13806
|
* 获取选中的窗口的index
|
|
13806
13807
|
*/
|
|
13807
13808
|
_getChoiceWindow: function () {
|
|
13808
|
-
|
|
13809
|
-
|
|
13809
|
+
let me = this;
|
|
13810
|
+
let selView = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li.sel');
|
|
13810
13811
|
|
|
13811
13812
|
if (selView.length) {
|
|
13812
13813
|
return selView.index();
|
|
@@ -13819,10 +13820,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13819
13820
|
* 获取下一窗口
|
|
13820
13821
|
*/
|
|
13821
13822
|
_getNextWindowsNum: function (old) {
|
|
13822
|
-
|
|
13823
|
-
|
|
13823
|
+
let me = this;
|
|
13824
|
+
let windowsArr = me._windowsArr;
|
|
13824
13825
|
|
|
13825
|
-
for (
|
|
13826
|
+
for (let index in windowsArr) {
|
|
13826
13827
|
if (index == windowsArr.length - 1) {
|
|
13827
13828
|
return windowsArr[index];
|
|
13828
13829
|
}
|
|
@@ -13837,7 +13838,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13837
13838
|
* 设置鼠标选中窗口
|
|
13838
13839
|
*/
|
|
13839
13840
|
_clickWindow: function () {
|
|
13840
|
-
|
|
13841
|
+
let me = this; //视频窗口选中
|
|
13841
13842
|
|
|
13842
13843
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]>li').click(function () {
|
|
13843
13844
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]>li').removeClass("sel");
|
|
@@ -13852,7 +13853,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13852
13853
|
/*
|
|
13853
13854
|
* 总的初始化
|
|
13854
13855
|
* 参数示例:
|
|
13855
|
-
*
|
|
13856
|
+
* let opts = {
|
|
13856
13857
|
windows: 4, //初始化的窗口数
|
|
13857
13858
|
conf: { //配置参数
|
|
13858
13859
|
user: 'admin', //用户名
|
|
@@ -13863,7 +13864,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13863
13864
|
};
|
|
13864
13865
|
*/
|
|
13865
13866
|
_init: function ($dom, opts) {
|
|
13866
|
-
|
|
13867
|
+
let me = this; //配置项
|
|
13867
13868
|
|
|
13868
13869
|
me._opts = {
|
|
13869
13870
|
windows: 4,
|
|
@@ -13874,7 +13875,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13874
13875
|
|
|
13875
13876
|
};
|
|
13876
13877
|
$.extend(me._opts, opts);
|
|
13877
|
-
|
|
13878
|
+
let windowsArr = me._opts.windowsArr;
|
|
13878
13879
|
|
|
13879
13880
|
if (!windowsArr || windowsArr.length == 0) {
|
|
13880
13881
|
me._windowList = {
|
|
@@ -13888,8 +13889,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13888
13889
|
} else {
|
|
13889
13890
|
me._windowList = {};
|
|
13890
13891
|
|
|
13891
|
-
for (
|
|
13892
|
-
|
|
13892
|
+
for (let index in windowsArr) {
|
|
13893
|
+
let item = windowsArr[index];
|
|
13893
13894
|
me._windowList[item] = {};
|
|
13894
13895
|
}
|
|
13895
13896
|
|
|
@@ -13924,11 +13925,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13924
13925
|
* 初始化按钮点击事件
|
|
13925
13926
|
*/
|
|
13926
13927
|
_initBtnEvent: function () {
|
|
13927
|
-
|
|
13928
|
-
|
|
13928
|
+
let me = this;
|
|
13929
|
+
let videoFlagObj = $('[video-flag="' + me._opts.windowsBeginIndex + '"]'); //锁定视频事件
|
|
13929
13930
|
|
|
13930
13931
|
videoFlagObj.find("button[name='lockVideo']").click(function () {
|
|
13931
|
-
|
|
13932
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
13932
13933
|
|
|
13933
13934
|
if (!me.VIDEO_DATA[index].playing) {
|
|
13934
13935
|
promptAlarm('请选择播放的视频源!');
|
|
@@ -13945,9 +13946,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13945
13946
|
}); //接收音频事件
|
|
13946
13947
|
|
|
13947
13948
|
videoFlagObj.find("button[name='recvAudio']").click(function () {
|
|
13948
|
-
|
|
13949
|
+
let _self = this;
|
|
13949
13950
|
|
|
13950
|
-
|
|
13951
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
13951
13952
|
|
|
13952
13953
|
if (!me.VIDEO_DATA[index].playing) {
|
|
13953
13954
|
promptAlarm('请选择播放的视频源!');
|
|
@@ -13961,17 +13962,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13961
13962
|
me.VIDEO_DATA[index].tagBox.muted = false;
|
|
13962
13963
|
} else {
|
|
13963
13964
|
//发送前先关闭其它音频通道(包括接收和发送音频)
|
|
13964
|
-
|
|
13965
|
+
let lis = $($(_self).parent().parent().parent()).children();
|
|
13965
13966
|
|
|
13966
|
-
for (
|
|
13967
|
-
|
|
13967
|
+
for (let i = 0; i < lis.length; i++) {
|
|
13968
|
+
let btnIndex = Number($(lis[i]).attr("index"));
|
|
13968
13969
|
|
|
13969
13970
|
if (index == btnIndex) {
|
|
13970
13971
|
continue;
|
|
13971
13972
|
}
|
|
13972
13973
|
|
|
13973
|
-
|
|
13974
|
-
|
|
13974
|
+
let recvBtn = $($(lis[i]).find("button[name='recvAudio']")[0]);
|
|
13975
|
+
let sendBtn = $($(lis[i]).find("button[name='sendAudio']")[0]);
|
|
13975
13976
|
|
|
13976
13977
|
if (recvBtn.attr("class") == 'recv-audio-btn') {
|
|
13977
13978
|
if (me.VIDEO_DATA[btnIndex].playing) {
|
|
@@ -13996,7 +13997,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13996
13997
|
}); //发送音频事件
|
|
13997
13998
|
|
|
13998
13999
|
videoFlagObj.find("button[name='sendAudio']").click(function () {
|
|
13999
|
-
|
|
14000
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
14000
14001
|
|
|
14001
14002
|
if (!me.VIDEO_DATA[index].playing) {
|
|
14002
14003
|
promptAlarm('请选择播放的视频源!');
|
|
@@ -14015,7 +14016,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14015
14016
|
}); //关闭视频事件
|
|
14016
14017
|
|
|
14017
14018
|
videoFlagObj.find("button[name='closeVideo']").click(function () {
|
|
14018
|
-
|
|
14019
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
14019
14020
|
me.close(index);
|
|
14020
14021
|
});
|
|
14021
14022
|
},
|
|
@@ -14024,7 +14025,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14024
14025
|
* 双击某个视频全屏
|
|
14025
14026
|
*/
|
|
14026
14027
|
_dbClickFullScreen: function () {
|
|
14027
|
-
|
|
14028
|
+
let me = this;
|
|
14028
14029
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]').find('.video-box').on("dblclick", function () {
|
|
14029
14030
|
me._fullScreenEvent(this);
|
|
14030
14031
|
});
|
|
@@ -14034,7 +14035,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14034
14035
|
* 全屏事件
|
|
14035
14036
|
*/
|
|
14036
14037
|
_fullScreenEvent: function (el) {
|
|
14037
|
-
|
|
14038
|
+
let isFullscreen = el.fullScreen || el.mozFullScreen || el.webkitIsFullScreen;
|
|
14038
14039
|
|
|
14039
14040
|
if (!isFullscreen) {
|
|
14040
14041
|
//进入全屏,多重短路表达式
|
|
@@ -14057,28 +14058,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14057
14058
|
* 在视频界面上显示视频的信息 码率、分辨率、丢包率
|
|
14058
14059
|
*/
|
|
14059
14060
|
_showVideoInfo: function () {
|
|
14060
|
-
|
|
14061
|
+
let me = this;
|
|
14061
14062
|
|
|
14062
14063
|
function clock() {
|
|
14063
|
-
for (
|
|
14064
|
+
for (let i = 0; i < me.VIDEO_DATA.length; i++) {
|
|
14064
14065
|
if (me.VIDEO_DATA[i].playing) {
|
|
14065
|
-
|
|
14066
|
-
|
|
14066
|
+
let number = Number(i) + Number(1);
|
|
14067
|
+
let videoObj = document.getElementById('video-' + number);
|
|
14067
14068
|
if (!videoObj) continue;
|
|
14068
|
-
|
|
14069
|
-
|
|
14069
|
+
let width = videoObj.videoWidth;
|
|
14070
|
+
let height = videoObj.videoHeight; //码率
|
|
14070
14071
|
|
|
14071
|
-
|
|
14072
|
+
let bitrate = me.VIDEO_DATA[i].sipcall.getBitrate();
|
|
14072
14073
|
|
|
14073
14074
|
if (!width || !height || !bitrate || bitrate.indexOf("kbits") == -1 || bitrate.indexOf("NaN") != -1) {
|
|
14074
14075
|
continue;
|
|
14075
14076
|
}
|
|
14076
14077
|
|
|
14077
|
-
|
|
14078
|
+
let config = me.VIDEO_DATA[i].sipcall.webrtcStuff;
|
|
14078
14079
|
|
|
14079
14080
|
me._setPacketsLostRate(i, config, me);
|
|
14080
14081
|
|
|
14081
|
-
|
|
14082
|
+
let resolution = width + "×" + height;
|
|
14082
14083
|
|
|
14083
14084
|
switch (height + '') {
|
|
14084
14085
|
case '1080':
|
|
@@ -14101,8 +14102,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14101
14102
|
break;
|
|
14102
14103
|
}
|
|
14103
14104
|
|
|
14104
|
-
|
|
14105
|
-
|
|
14105
|
+
let videoInfoObj = document.getElementById('info-' + number);
|
|
14106
|
+
let videoName = me.VIDEO_DATA[i].opts && me.VIDEO_DATA[i].opts.name ? me.VIDEO_DATA[i].opts.name : me.VIDEO_DATA[i].video;
|
|
14106
14107
|
videoInfoObj.innerHTML = videoName + ' ' + resolution + '<br>丢包率:' + me.VIDEO_DATA[i].packetsLostRate + ' ' + bitrate.replace("kbits/sec", "kbps");
|
|
14107
14108
|
}
|
|
14108
14109
|
}
|
|
@@ -14128,7 +14129,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14128
14129
|
return;
|
|
14129
14130
|
}
|
|
14130
14131
|
|
|
14131
|
-
|
|
14132
|
+
let inStats = false; // Check if these are statistics on incoming media
|
|
14132
14133
|
|
|
14133
14134
|
if ((res.mediaType === "video" || res.id.toLowerCase().indexOf("video") > -1) && res.type === "inbound-rtp" && res.id.indexOf("rtcp") < 0) {
|
|
14134
14135
|
// New stats
|
|
@@ -14145,12 +14146,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14145
14146
|
if (!res.packetsLost || isNaN(res.packetsLost) || Number(res.packetsLost) == '0' || res.packetsLost == 'NaN') {
|
|
14146
14147
|
me.VIDEO_DATA[index].packetsLostRate = '0.00%';
|
|
14147
14148
|
} else {
|
|
14148
|
-
|
|
14149
|
-
|
|
14150
|
-
|
|
14149
|
+
let packetsLost = Number(res.packetsLost) - Number(me.VIDEO_DATA[index].packetsLostSum);
|
|
14150
|
+
let packetsReceived = Number(res.packetsReceived) - Number(me.VIDEO_DATA[index].packetsReceivedSum);
|
|
14151
|
+
let packetsLostRate = 0; //防止分母是0
|
|
14151
14152
|
|
|
14152
14153
|
if (packetsLost > 0) {
|
|
14153
|
-
|
|
14154
|
+
let packetsLostRate = Number(packetsLost) / (Number(packetsLost) + Number(packetsReceived)) * 100;
|
|
14154
14155
|
}
|
|
14155
14156
|
|
|
14156
14157
|
me.VIDEO_DATA[index].packetsLostRate = packetsLostRate.toFixed(2) + '%';
|
|
@@ -14170,12 +14171,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14170
14171
|
* 视频界面的初始化,在传过来的dom中创建界面
|
|
14171
14172
|
*/
|
|
14172
14173
|
_initVideoView: function ($dom) {
|
|
14173
|
-
|
|
14174
|
-
|
|
14175
|
-
|
|
14176
|
-
|
|
14174
|
+
let me = this;
|
|
14175
|
+
let objClass = (me._opts.windowsNum == 1 ? 'video-main-full mode-' : 'video-main mode-') + me._opts.windows;
|
|
14176
|
+
let videoHtml = '<ul class="' + objClass + '" id="video-main-web-rtc" video-flag="' + me._opts.windowsBeginIndex + '">';
|
|
14177
|
+
let index = me._opts.windowsBeginIndex + 1;
|
|
14177
14178
|
|
|
14178
|
-
for (
|
|
14179
|
+
for (let i = index; i < index + me._opts.windowsNum; i++) {
|
|
14179
14180
|
videoHtml += '<li class="screen-' + i + '" index="' + (i - 1) + '"><video class="video-box" id="video-' + i + '" autoplay ></video>' + '<div class="info hide" id="info-' + i + '"></div>' + '<div class="operate-btn">'; //videoHtml +='<button type="button" class="unlock-video-btn hide" name="lockVideo"></button>';
|
|
14180
14181
|
|
|
14181
14182
|
checkUserMediaAvailable() && (videoHtml += '<button type="button" class="unsend-audio-btn hide" name="sendAudio"></button>');
|
|
@@ -14191,12 +14192,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14191
14192
|
* 音频界面的初始化,在传过来的dom中创建界面
|
|
14192
14193
|
*/
|
|
14193
14194
|
_initAudioView: function ($dom) {
|
|
14194
|
-
|
|
14195
|
-
|
|
14196
|
-
|
|
14197
|
-
|
|
14195
|
+
let me = this;
|
|
14196
|
+
let objClass = (me._opts.windowsNum == 1 ? 'video-main-full mode-' : 'video-main mode-') + me._opts.windows;
|
|
14197
|
+
let videoHtml = '<ul class="' + objClass + '" id="video-main-web-rtc" video-flag="' + me._opts.windowsBeginIndex + '">';
|
|
14198
|
+
let index = me._opts.windowsBeginIndex + 1;
|
|
14198
14199
|
|
|
14199
|
-
for (
|
|
14200
|
+
for (let i = index; i < index + me._opts.windowsNum; i++) {
|
|
14200
14201
|
videoHtml += '<audio id="audio-' + i + '" autoplay ></video>';
|
|
14201
14202
|
}
|
|
14202
14203
|
|
|
@@ -14207,7 +14208,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14207
14208
|
* Janus的初始化
|
|
14208
14209
|
*/
|
|
14209
14210
|
_initJanus: function () {
|
|
14210
|
-
|
|
14211
|
+
let me = this; // if (window.parent && window.parent.janus) {
|
|
14211
14212
|
// me._initSVideo(window.parent.janus);
|
|
14212
14213
|
// return;
|
|
14213
14214
|
// }
|
|
@@ -14223,7 +14224,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14223
14224
|
return;
|
|
14224
14225
|
}
|
|
14225
14226
|
|
|
14226
|
-
|
|
14227
|
+
let janusUrl = me._opts.conf.janusUrl;
|
|
14227
14228
|
checkIsHttps() && (janusUrl = janusUrl.replace('ws:', 'wss:'));
|
|
14228
14229
|
me._opts.janus = new Janus({
|
|
14229
14230
|
server: janusUrl.indexOf("127.0.0.1") == -1 ? janusUrl : janusUrl.split("//")[0] + "//" + location.hostname + ":" + janusUrl.split(":")[2],
|
|
@@ -14253,7 +14254,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14253
14254
|
* 销毁:Janus销毁、资源释放
|
|
14254
14255
|
*/
|
|
14255
14256
|
destoryJanus: function () {
|
|
14256
|
-
|
|
14257
|
+
let me = this;
|
|
14257
14258
|
|
|
14258
14259
|
me._opts.janus.destroy({
|
|
14259
14260
|
success: function () {
|
|
@@ -14270,10 +14271,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14270
14271
|
* 初始化插件、登陆,初始化窗口
|
|
14271
14272
|
*/
|
|
14272
14273
|
_initSVideo: function (janus) {
|
|
14273
|
-
|
|
14274
|
+
let me = this; //已经初始化过,则直接拿来用
|
|
14274
14275
|
// if (janus && (registered || (window.parent && window.parent.registered))) {
|
|
14275
14276
|
// //生成主界面
|
|
14276
|
-
// for(
|
|
14277
|
+
// for(let i = me._opts.windowsBeginIndex; i < me._opts.windowsBeginIndex + me._opts.windowsNum; i++){
|
|
14277
14278
|
// me.VIDEO_DATA[i] = new SVideo({
|
|
14278
14279
|
// index:i,
|
|
14279
14280
|
// janus:janus
|
|
@@ -14284,14 +14285,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14284
14285
|
// }
|
|
14285
14286
|
//初始化一个插件,用来登陆,不能用此插件播放视频。
|
|
14286
14287
|
|
|
14287
|
-
|
|
14288
|
+
let _loginSipCall = null;
|
|
14288
14289
|
janus.attach({
|
|
14289
14290
|
plugin: me._opts.conf.janusPlugin ? me._opts.conf.janusPlugin : "janus.plugin.videoserver",
|
|
14290
14291
|
opaqueId: "siptest-" + Janus.randomString(12),
|
|
14291
14292
|
success: function (pluginHandle) {
|
|
14292
14293
|
console.log("Janus登陆插件初始化成功!");
|
|
14293
14294
|
_loginSipCall = pluginHandle;
|
|
14294
|
-
|
|
14295
|
+
let register = {
|
|
14295
14296
|
"request": "register",
|
|
14296
14297
|
"username": me._opts.conf.user,
|
|
14297
14298
|
"secret": me._opts.conf.passwd
|
|
@@ -14312,8 +14313,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14312
14313
|
return false;
|
|
14313
14314
|
}
|
|
14314
14315
|
|
|
14315
|
-
|
|
14316
|
-
|
|
14316
|
+
let result = msg["result"];
|
|
14317
|
+
let event = result["event"];
|
|
14317
14318
|
|
|
14318
14319
|
if (result.error_code && result.error_code != 0) {
|
|
14319
14320
|
promptFailed(FAILED_CODE[result.error_code] || '错误码:' + result.error_code);
|
|
@@ -14328,11 +14329,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14328
14329
|
}
|
|
14329
14330
|
|
|
14330
14331
|
if (event === 'registered') {
|
|
14331
|
-
|
|
14332
|
+
let userToken = result["userToken"];
|
|
14332
14333
|
console.log('janus登陆成功');
|
|
14333
14334
|
registered = true; //生成主界面
|
|
14334
14335
|
|
|
14335
|
-
for (
|
|
14336
|
+
for (let i = me._opts.windowsBeginIndex; i < me._opts.windowsBeginIndex + me._opts.windowsNum; i++) {
|
|
14336
14337
|
me.VIDEO_DATA[i] = new SVideo({
|
|
14337
14338
|
index: i,
|
|
14338
14339
|
janus: janus,
|
|
@@ -14349,7 +14350,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14349
14350
|
});
|
|
14350
14351
|
}
|
|
14351
14352
|
};
|
|
14352
|
-
|
|
14353
|
+
let FAILED_CODE = {
|
|
14353
14354
|
1001: "账号或密码错误",
|
|
14354
14355
|
1002: "该帐号已连接",
|
|
14355
14356
|
1004: "没有鉴权",
|
|
@@ -14373,13 +14374,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14373
14374
|
4005: "客户端已打开对讲",
|
|
14374
14375
|
4006: "终端离开云眼音频"
|
|
14375
14376
|
};
|
|
14376
|
-
|
|
14377
|
+
let STATUS_CODE_ARR = ['5002', '4003', '4004', '4005', '4006']; //window.VIDEO_DATA = [];//记录视频各分屏的状态
|
|
14377
14378
|
|
|
14378
14379
|
window.windowsSum = 0; //当前页面的视频总数,可能有多个VideoWebRtc对象
|
|
14379
|
-
//
|
|
14380
|
+
//let userToken = null;
|
|
14380
14381
|
|
|
14381
|
-
|
|
14382
|
-
|
|
14382
|
+
let registered = false;
|
|
14383
|
+
let recordAvBusinessId = null;
|
|
14383
14384
|
|
|
14384
14385
|
function SVideo(opts) {
|
|
14385
14386
|
this.janus = opts.janus;
|
|
@@ -14403,7 +14404,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14403
14404
|
* 初始化
|
|
14404
14405
|
*/
|
|
14405
14406
|
init: function () {
|
|
14406
|
-
|
|
14407
|
+
let self = this;
|
|
14407
14408
|
self.janus.attach({
|
|
14408
14409
|
plugin: self.janusPlugin ? self.janusPlugin : "janus.plugin.videoserver",
|
|
14409
14410
|
opaqueId: "siptest-" + Janus.randomString(12),
|
|
@@ -14435,7 +14436,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14435
14436
|
return false;
|
|
14436
14437
|
}
|
|
14437
14438
|
|
|
14438
|
-
|
|
14439
|
+
let result = msg["result"];
|
|
14439
14440
|
if (!result) return;
|
|
14440
14441
|
|
|
14441
14442
|
if (result.error_code && result.error_code != 0) {
|
|
@@ -14443,7 +14444,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14443
14444
|
if (!STATUS_CODE_ARR.includes(result.error_code + '')) {
|
|
14444
14445
|
//videoListener.dispatch('afterclose', self);
|
|
14445
14446
|
//播放失败 关闭视频
|
|
14446
|
-
|
|
14447
|
+
let video = self.video;
|
|
14447
14448
|
self.close('err');
|
|
14448
14449
|
|
|
14449
14450
|
if (self.isLockVideo) {
|
|
@@ -14462,7 +14463,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14462
14463
|
} //事件响应
|
|
14463
14464
|
|
|
14464
14465
|
|
|
14465
|
-
|
|
14466
|
+
let event = result["event"];
|
|
14466
14467
|
if (!event) return;
|
|
14467
14468
|
|
|
14468
14469
|
switch (event) {
|
|
@@ -14477,7 +14478,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14477
14478
|
videoRecv: true
|
|
14478
14479
|
},
|
|
14479
14480
|
success: function (jsep) {
|
|
14480
|
-
|
|
14481
|
+
let body = {
|
|
14481
14482
|
request: "accept",
|
|
14482
14483
|
videoidentify: result["videoidentify"],
|
|
14483
14484
|
playseq: parseInt(result["playseq"]),
|
|
@@ -14490,7 +14491,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14490
14491
|
},
|
|
14491
14492
|
error: function (error) {
|
|
14492
14493
|
console.error(error);
|
|
14493
|
-
|
|
14494
|
+
let body = {
|
|
14494
14495
|
"request": "decline",
|
|
14495
14496
|
"code": 480
|
|
14496
14497
|
};
|
|
@@ -14546,7 +14547,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14546
14547
|
videoRecv: false
|
|
14547
14548
|
},
|
|
14548
14549
|
success: function (jsep) {
|
|
14549
|
-
|
|
14550
|
+
let body = {
|
|
14550
14551
|
request: "accept",
|
|
14551
14552
|
userToken: self.userToken
|
|
14552
14553
|
};
|
|
@@ -14556,7 +14557,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14556
14557
|
});
|
|
14557
14558
|
},
|
|
14558
14559
|
error: function (error) {
|
|
14559
|
-
console.error(error); //
|
|
14560
|
+
console.error(error); // let body = { "request": "decline", "code": 480 };
|
|
14560
14561
|
// self.sipcall.send({"message": body});
|
|
14561
14562
|
}
|
|
14562
14563
|
});
|
|
@@ -14585,13 +14586,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14585
14586
|
onlocalstream: function (stream) {
|
|
14586
14587
|
stream.getAudioTracks()[0].enabled = false;
|
|
14587
14588
|
self.stream = stream; // Janus.attachMediaStream(self.tagBox.get(0), stream);
|
|
14588
|
-
//
|
|
14589
|
+
// let s = stream.getAudioTracks()[0];
|
|
14589
14590
|
// stream.removeTrack(s);
|
|
14590
14591
|
// self.sipcall.webrtcStuff.myStream.addTrack(s);
|
|
14591
14592
|
// self.sipcall.webrtcStuff.myStream.removeTrack(s);
|
|
14592
14593
|
// stream.getTracks().forEach(track => track.stop());
|
|
14593
14594
|
// if (self.isVideoTag) {
|
|
14594
|
-
//
|
|
14595
|
+
// let btnObj = self.tagBox.parent().find("button[name='sendAudio']");
|
|
14595
14596
|
// btnObj.unbind('click');
|
|
14596
14597
|
// //stream.getAudioTracks()[0].enabled = false;
|
|
14597
14598
|
//
|
|
@@ -14635,8 +14636,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14635
14636
|
|
|
14636
14637
|
self.tagBox.parent().find('.recv-audio-btn').attr("class", "unrecv-audio-btn");
|
|
14637
14638
|
self.tagBox.parent().find('.send-audio-btn').attr("class", "unsend-audio-btn");
|
|
14638
|
-
|
|
14639
|
-
|
|
14639
|
+
let width = this.videoWidth;
|
|
14640
|
+
let height = this.videoHeight; //保持长宽比例填充video视频框
|
|
14640
14641
|
|
|
14641
14642
|
if (width <= height && width != '0') {
|
|
14642
14643
|
self.tagBox.css('object-fit', 'contain');
|
|
@@ -14656,7 +14657,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14656
14657
|
return;
|
|
14657
14658
|
}
|
|
14658
14659
|
|
|
14659
|
-
|
|
14660
|
+
let body = {
|
|
14660
14661
|
request: "call",
|
|
14661
14662
|
videoidentify: video,
|
|
14662
14663
|
playseq: this.index,
|
|
@@ -14672,7 +14673,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14672
14673
|
this.packetsLostSum = 0;
|
|
14673
14674
|
this.packetsReceivedSum = 0; //loading
|
|
14674
14675
|
|
|
14675
|
-
|
|
14676
|
+
let _li = this.tagBox.parent();
|
|
14676
14677
|
|
|
14677
14678
|
if (!_li.hasClass("loading")) {
|
|
14678
14679
|
_li.addClass("loading").append('<div class="stream-loading">等待数据流传送...</div>');
|
|
@@ -14686,11 +14687,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14686
14687
|
if (!type) {
|
|
14687
14688
|
this.isLockVideo = false;
|
|
14688
14689
|
this.tagBox.parent().find('.lock-video-btn').attr("class", "unlock-video-btn");
|
|
14689
|
-
} //
|
|
14690
|
+
} //let reqType = type ? type : "hangup";
|
|
14690
14691
|
|
|
14691
14692
|
|
|
14692
14693
|
if (!this.playing) return;
|
|
14693
|
-
|
|
14694
|
+
let _hangup = {
|
|
14694
14695
|
request: "hangup",
|
|
14695
14696
|
videoidentify: this.video,
|
|
14696
14697
|
playseq: this.index,
|
|
@@ -14753,8 +14754,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14753
14754
|
return;
|
|
14754
14755
|
}
|
|
14755
14756
|
|
|
14756
|
-
|
|
14757
|
-
|
|
14757
|
+
let holdType = 'up down left right upleft upright downleft downright zoomin zoomout focusnear focusfar irisopen irisclose pointset pointdel pointgoto ' + 'scansetleft scansetright scansetspeed scanrun cruiseadd cruisedel cruisespeed cruisepausetime cruiserun';
|
|
14758
|
+
let typeVal = Number(holdType.split(' ').indexOf(type)) + Number(1);
|
|
14758
14759
|
console.log("holdType:" + typeVal + " type:" + type + (isStop ? ' 停止' : ''));
|
|
14759
14760
|
|
|
14760
14761
|
if (!typeVal || typeVal <= 0) {
|
|
@@ -14762,7 +14763,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14762
14763
|
return false;
|
|
14763
14764
|
}
|
|
14764
14765
|
|
|
14765
|
-
|
|
14766
|
+
let body = {
|
|
14766
14767
|
request: "ptz",
|
|
14767
14768
|
videoidentify: this.video,
|
|
14768
14769
|
playseq: this.index,
|
|
@@ -14799,7 +14800,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14799
14800
|
return;
|
|
14800
14801
|
}
|
|
14801
14802
|
|
|
14802
|
-
|
|
14803
|
+
let body = {
|
|
14803
14804
|
request: "av_playback",
|
|
14804
14805
|
videoidentify: video,
|
|
14805
14806
|
playseq: this.index,
|
|
@@ -14818,7 +14819,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14818
14819
|
this.packetsReceivedSum = 0;
|
|
14819
14820
|
this.isPlayBack = true; //loading
|
|
14820
14821
|
|
|
14821
|
-
|
|
14822
|
+
let _li = this.tagBox.parent();
|
|
14822
14823
|
|
|
14823
14824
|
if (!_li.hasClass("loading")) {
|
|
14824
14825
|
_li.addClass("loading").append('<div class="stream-loading">等待数据流传送...</div>');
|
|
@@ -14834,8 +14835,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14834
14835
|
* video设备ID playType类型 playSpeed速率 startTime开始时间
|
|
14835
14836
|
*/
|
|
14836
14837
|
playbackControl: function (video, playType, playSpeed, startTime) {
|
|
14837
|
-
|
|
14838
|
-
|
|
14838
|
+
let self = this;
|
|
14839
|
+
let body = {
|
|
14839
14840
|
request: "av_control",
|
|
14840
14841
|
videoidentify: video,
|
|
14841
14842
|
playseq: self.index,
|
|
@@ -14875,14 +14876,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14875
14876
|
* requstType: recv_audio、stop_audio、send_audio、unsend_audio
|
|
14876
14877
|
*/
|
|
14877
14878
|
operateAudio: function (requestType) {
|
|
14878
|
-
|
|
14879
|
+
let self = this;
|
|
14879
14880
|
|
|
14880
14881
|
if (!self.video) {
|
|
14881
14882
|
promptAlarm('视频ID不能为空');
|
|
14882
14883
|
return;
|
|
14883
14884
|
}
|
|
14884
14885
|
|
|
14885
|
-
|
|
14886
|
+
let body = {
|
|
14886
14887
|
request: requestType,
|
|
14887
14888
|
videoidentify: self.video,
|
|
14888
14889
|
playseq: self.index,
|
|
@@ -14899,14 +14900,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14899
14900
|
* requstType: start_av_record(开启录像)、stop_av_record(停止录像)
|
|
14900
14901
|
*/
|
|
14901
14902
|
recordAv: function (requestType, businessId) {
|
|
14902
|
-
|
|
14903
|
+
let self = this;
|
|
14903
14904
|
|
|
14904
14905
|
if (!self.video) {
|
|
14905
14906
|
promptAlarm('视频ID不能为空');
|
|
14906
14907
|
return;
|
|
14907
14908
|
}
|
|
14908
14909
|
|
|
14909
|
-
|
|
14910
|
+
let body = {
|
|
14910
14911
|
request: requestType,
|
|
14911
14912
|
videoidentify: self.video,
|
|
14912
14913
|
playseq: self.index,
|
|
@@ -14925,14 +14926,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14925
14926
|
* CIF 480P 720P 1080P
|
|
14926
14927
|
*/
|
|
14927
14928
|
changeResolution: function (requestType, resolution) {
|
|
14928
|
-
|
|
14929
|
+
let self = this;
|
|
14929
14930
|
|
|
14930
14931
|
if (!self.video) {
|
|
14931
14932
|
promptAlarm('视频ID不能为空');
|
|
14932
14933
|
return;
|
|
14933
14934
|
}
|
|
14934
14935
|
|
|
14935
|
-
|
|
14936
|
+
let body = {
|
|
14936
14937
|
request: requestType,
|
|
14937
14938
|
videoidentify: self.video,
|
|
14938
14939
|
playseq: self.index,
|
|
@@ -14952,8 +14953,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14952
14953
|
* centerTel
|
|
14953
14954
|
*/
|
|
14954
14955
|
pocCall: function (requestType, pocNo, centerTel) {
|
|
14955
|
-
|
|
14956
|
-
|
|
14956
|
+
let self = this;
|
|
14957
|
+
let body = {
|
|
14957
14958
|
request: requestType,
|
|
14958
14959
|
pocno: pocNo,
|
|
14959
14960
|
playseq: self.index,
|