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.umd.js
CHANGED
|
@@ -11803,10 +11803,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11803
11803
|
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
11804
11804
|
} else {}
|
|
11805
11805
|
})(this, function ($, Janus, adapter) {
|
|
11806
|
+
console.log($, Janus, adapter);
|
|
11806
11807
|
"use strict";
|
|
11807
11808
|
|
|
11808
11809
|
window.console = window.console || function () {
|
|
11809
|
-
|
|
11810
|
+
let c = {};
|
|
11810
11811
|
|
|
11811
11812
|
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 () {};
|
|
11812
11813
|
|
|
@@ -11824,9 +11825,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11824
11825
|
}
|
|
11825
11826
|
|
|
11826
11827
|
Array.prototype.indexOf = function (item) {
|
|
11827
|
-
|
|
11828
|
+
let len = this.length >>> 0; //保证结构为非负数
|
|
11828
11829
|
|
|
11829
|
-
for (
|
|
11830
|
+
for (let i = 0; i < len; i++) {
|
|
11830
11831
|
if (i in this && this[i] === item) {
|
|
11831
11832
|
return i;
|
|
11832
11833
|
}
|
|
@@ -11841,8 +11842,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11841
11842
|
*/
|
|
11842
11843
|
|
|
11843
11844
|
|
|
11844
|
-
|
|
11845
|
-
|
|
11845
|
+
let guid = function () {
|
|
11846
|
+
let id = 1;
|
|
11846
11847
|
return function () {
|
|
11847
11848
|
return 'SCVIDEO_ID_' + (++id).toString();
|
|
11848
11849
|
};
|
|
@@ -11864,7 +11865,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11864
11865
|
|
|
11865
11866
|
|
|
11866
11867
|
function cloneObj(obj) {
|
|
11867
|
-
|
|
11868
|
+
let str,
|
|
11868
11869
|
newObj = $.isArray(obj) ? [] : {};
|
|
11869
11870
|
|
|
11870
11871
|
if (typeof obj != 'object') {
|
|
@@ -11888,7 +11889,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11888
11889
|
*/
|
|
11889
11890
|
|
|
11890
11891
|
|
|
11891
|
-
|
|
11892
|
+
let showPrompt = true;
|
|
11892
11893
|
|
|
11893
11894
|
function promptSuccess(msg, type) {
|
|
11894
11895
|
console.log(msg); //panduanpromptView弹层对象是否引入
|
|
@@ -11931,7 +11932,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11931
11932
|
return;
|
|
11932
11933
|
}
|
|
11933
11934
|
|
|
11934
|
-
|
|
11935
|
+
let startTime = new Date().getTime(); // 列出相机和麦克风.
|
|
11935
11936
|
|
|
11936
11937
|
navigator.mediaDevices.enumerateDevices().then(function (devices) {
|
|
11937
11938
|
devices.forEach(function (device) {
|
|
@@ -11953,7 +11954,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11953
11954
|
|
|
11954
11955
|
|
|
11955
11956
|
function checkIsHttp() {
|
|
11956
|
-
|
|
11957
|
+
let protocolStr = document.location.protocol;
|
|
11957
11958
|
if (protocolStr == "http:" && window.location.hostname != "localhost") return true;
|
|
11958
11959
|
return false;
|
|
11959
11960
|
}
|
|
@@ -11966,7 +11967,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11966
11967
|
|
|
11967
11968
|
|
|
11968
11969
|
function checkIsHttps() {
|
|
11969
|
-
|
|
11970
|
+
let protocolStr = document.location.protocol;
|
|
11970
11971
|
if (protocolStr == "https:") return true;
|
|
11971
11972
|
return false;
|
|
11972
11973
|
}
|
|
@@ -11987,7 +11988,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
11987
11988
|
*/
|
|
11988
11989
|
|
|
11989
11990
|
|
|
11990
|
-
|
|
11991
|
+
let PollTimer =
|
|
11991
11992
|
/** @class */
|
|
11992
11993
|
function () {
|
|
11993
11994
|
function PollTimer(cb, time) {
|
|
@@ -12010,7 +12011,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12010
12011
|
return PollTimer;
|
|
12011
12012
|
}();
|
|
12012
12013
|
|
|
12013
|
-
|
|
12014
|
+
let waitTimerId = 0;
|
|
12014
12015
|
|
|
12015
12016
|
function wait(time) {
|
|
12016
12017
|
return new Promise(function (resolve, reject) {
|
|
@@ -12043,7 +12044,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12043
12044
|
return;
|
|
12044
12045
|
}
|
|
12045
12046
|
|
|
12046
|
-
|
|
12047
|
+
let t = this._listeners,
|
|
12047
12048
|
id;
|
|
12048
12049
|
|
|
12049
12050
|
if (typeof key == "string" && key) {
|
|
@@ -12067,7 +12068,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12067
12068
|
*/
|
|
12068
12069
|
removeListener: function (type, handler) {
|
|
12069
12070
|
type.indexOf("on") != 0 && (type = "on" + type);
|
|
12070
|
-
|
|
12071
|
+
let t = this._listeners;
|
|
12071
12072
|
|
|
12072
12073
|
if (!t[type]) {
|
|
12073
12074
|
return;
|
|
@@ -12096,11 +12097,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12096
12097
|
|
|
12097
12098
|
options = options || {};
|
|
12098
12099
|
|
|
12099
|
-
for (
|
|
12100
|
+
for (let i in options) {
|
|
12100
12101
|
e[i] = options[i];
|
|
12101
12102
|
}
|
|
12102
12103
|
|
|
12103
|
-
|
|
12104
|
+
let i,
|
|
12104
12105
|
t = this._listeners,
|
|
12105
12106
|
p = e.type;
|
|
12106
12107
|
e.target || (e.target = this);
|
|
@@ -12117,7 +12118,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12117
12118
|
return e.returnValue;
|
|
12118
12119
|
}
|
|
12119
12120
|
};
|
|
12120
|
-
|
|
12121
|
+
let videoListener = new Listener();
|
|
12121
12122
|
/**
|
|
12122
12123
|
* 使用ocx方式的video工具类
|
|
12123
12124
|
* @author savage
|
|
@@ -12163,7 +12164,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12163
12164
|
|
|
12164
12165
|
this._obj.SCWebSetCurrentWindow(index);
|
|
12165
12166
|
|
|
12166
|
-
|
|
12167
|
+
let playId = this._obj.SCWebRealPlay(video, this._opts.streamType);
|
|
12167
12168
|
|
|
12168
12169
|
console.log("play = " + playId);
|
|
12169
12170
|
opts = opts || {};
|
|
@@ -12175,7 +12176,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12175
12176
|
}, this.dispatch('playsuccess', this.videoStatus[index]));
|
|
12176
12177
|
|
|
12177
12178
|
if (playId < 0) {
|
|
12178
|
-
|
|
12179
|
+
let name = opts.name || '视频';
|
|
12179
12180
|
promptFailed(name + '播放失败!');
|
|
12180
12181
|
}
|
|
12181
12182
|
|
|
@@ -12188,7 +12189,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12188
12189
|
* 返回true/false
|
|
12189
12190
|
*/
|
|
12190
12191
|
playByOrder: function (video, id, opts) {
|
|
12191
|
-
|
|
12192
|
+
let freeWindow = this._getMinIndexFreeWindow(0);
|
|
12192
12193
|
|
|
12193
12194
|
if (freeWindow == -1 || this._getChoiceWindow() != -1 && !this.getInChoiceVideo()) {
|
|
12194
12195
|
return this.playInChoice(video, id, opts);
|
|
@@ -12201,12 +12202,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12201
12202
|
* 扩展视频窗口数的播放方式
|
|
12202
12203
|
*/
|
|
12203
12204
|
playByOrderExpandWindow: function (video, id, opts) {
|
|
12204
|
-
|
|
12205
|
+
let freeWindow = this._getMinIndexFreeWindow(0);
|
|
12205
12206
|
|
|
12206
|
-
|
|
12207
|
+
let maxWindows = this._opts.windowsNum || 16;
|
|
12207
12208
|
|
|
12208
12209
|
while (this._opts.windows < maxWindows && freeWindow == -1) {
|
|
12209
|
-
|
|
12210
|
+
let zoom = Math.sqrt(this._opts.windows * 1) + 1;
|
|
12210
12211
|
|
|
12211
12212
|
if (this._opts.windows == 6) {
|
|
12212
12213
|
this.setWindowsNum(9);
|
|
@@ -12232,7 +12233,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12232
12233
|
throw new Error('windows is not enough');
|
|
12233
12234
|
}
|
|
12234
12235
|
|
|
12235
|
-
|
|
12236
|
+
let me = this;
|
|
12236
12237
|
me.closeAll();
|
|
12237
12238
|
$.each(array, function (i, obj) {
|
|
12238
12239
|
me.play(i, obj.video, obj.id, obj.opts);
|
|
@@ -12243,7 +12244,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12243
12244
|
* 在鼠标选中的窗口中播放视频
|
|
12244
12245
|
*/
|
|
12245
12246
|
playInChoice: function (video, id, opts) {
|
|
12246
|
-
|
|
12247
|
+
let index = this._obj.SCWebGetCurrentWindowIndex();
|
|
12247
12248
|
|
|
12248
12249
|
this.videoStatus[index] && this.close(index);
|
|
12249
12250
|
return this.play(index, video, id, opts);
|
|
@@ -12253,7 +12254,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12253
12254
|
* 如果被指定的窗口有视频id,则播放
|
|
12254
12255
|
*/
|
|
12255
12256
|
playMulWindows: function (indexs) {
|
|
12256
|
-
|
|
12257
|
+
let me = this;
|
|
12257
12258
|
$.each(indexs, function (i, index) {
|
|
12258
12259
|
me.videoStatus[index] && me.play(index, me.videoStatus[index].video, me.videoStatus[index].id);
|
|
12259
12260
|
});
|
|
@@ -12263,7 +12264,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12263
12264
|
* 检索当前点的视频是否被播放,被播放则返回播放的视频窗口
|
|
12264
12265
|
*/
|
|
12265
12266
|
isPlaying: function (id) {
|
|
12266
|
-
|
|
12267
|
+
let index = -1;
|
|
12267
12268
|
$.each(this.videoStatus, function (key, val) {
|
|
12268
12269
|
if (id == val.id) {
|
|
12269
12270
|
index = key;
|
|
@@ -12301,7 +12302,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12301
12302
|
* IE下才有该方法
|
|
12302
12303
|
*/
|
|
12303
12304
|
getWindowByPlayId: function (playId) {
|
|
12304
|
-
|
|
12305
|
+
let index = -1;
|
|
12305
12306
|
$.each(this.videoStatus, function (key, val) {
|
|
12306
12307
|
if (playId == val.playId) {
|
|
12307
12308
|
index = key;
|
|
@@ -12330,7 +12331,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12330
12331
|
|
|
12331
12332
|
this._obj.SCWebSetCurrentWindow(index);
|
|
12332
12333
|
|
|
12333
|
-
|
|
12334
|
+
let close = this._obj.SCWebStopRealPlay(this.videoStatus[index].playId);
|
|
12334
12335
|
|
|
12335
12336
|
console.log("close = " + close);
|
|
12336
12337
|
|
|
@@ -12344,20 +12345,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12344
12345
|
* 关闭指定视频编号正在播放的视频
|
|
12345
12346
|
*/
|
|
12346
12347
|
closeByVideo: function (video, isSave) {
|
|
12347
|
-
|
|
12348
|
+
let me = this;
|
|
12348
12349
|
|
|
12349
12350
|
if (video == undefined) {
|
|
12350
12351
|
console.info('video参数错误');
|
|
12351
12352
|
return;
|
|
12352
12353
|
}
|
|
12353
12354
|
|
|
12354
|
-
|
|
12355
|
+
let videoData = me.videoStatus;
|
|
12355
12356
|
|
|
12356
12357
|
if (!videoData || videoData.length == 0) {
|
|
12357
12358
|
return;
|
|
12358
12359
|
}
|
|
12359
12360
|
|
|
12360
|
-
for (
|
|
12361
|
+
for (let i in videoData) {
|
|
12361
12362
|
if (video == videoData[i].video) {
|
|
12362
12363
|
me.close(videoData[i].index);
|
|
12363
12364
|
}
|
|
@@ -12368,11 +12369,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12368
12369
|
*
|
|
12369
12370
|
*/
|
|
12370
12371
|
closeHistory: function (playId) {
|
|
12371
|
-
|
|
12372
|
+
let close = this._obj.SCWebStopRealPlay(playId);
|
|
12372
12373
|
|
|
12373
12374
|
console.log("close = " + close);
|
|
12374
12375
|
|
|
12375
|
-
|
|
12376
|
+
let index = this._getChoiceWindow();
|
|
12376
12377
|
|
|
12377
12378
|
delete this.videoStatus[index];
|
|
12378
12379
|
},
|
|
@@ -12382,10 +12383,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12382
12383
|
* TODO 不可关闭
|
|
12383
12384
|
*/
|
|
12384
12385
|
closeAll: function (isSave) {
|
|
12385
|
-
|
|
12386
|
+
let me = this;
|
|
12386
12387
|
isSave || (this._disableClosed = []);
|
|
12387
12388
|
|
|
12388
|
-
|
|
12389
|
+
let windows = me._obj.SCWebGetRealPlayWindows();
|
|
12389
12390
|
|
|
12390
12391
|
console.log('要关闭的视频窗:' + windows);
|
|
12391
12392
|
|
|
@@ -12402,9 +12403,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12402
12403
|
* @returns
|
|
12403
12404
|
*/
|
|
12404
12405
|
getWindowsPlay: function () {
|
|
12405
|
-
|
|
12406
|
+
let me = this;
|
|
12406
12407
|
|
|
12407
|
-
|
|
12408
|
+
let windows = me._obj.SCWebGetRealPlayWindows();
|
|
12408
12409
|
|
|
12409
12410
|
return windows;
|
|
12410
12411
|
},
|
|
@@ -12434,9 +12435,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12434
12435
|
* 设置视频窗口数
|
|
12435
12436
|
*/
|
|
12436
12437
|
setWindowsNum: function (num, extra) {
|
|
12437
|
-
|
|
12438
|
+
let me = this;
|
|
12438
12439
|
num = num * 1;
|
|
12439
|
-
|
|
12440
|
+
let result;
|
|
12440
12441
|
|
|
12441
12442
|
if (extra) {
|
|
12442
12443
|
result = me._obj.SCWebDecoderSetExtraScreenMode(num);
|
|
@@ -12487,7 +12488,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12487
12488
|
|
|
12488
12489
|
time = $.isNumeric(time) ? time : this._opts.pollInterval;
|
|
12489
12490
|
this._pollArray = array;
|
|
12490
|
-
|
|
12491
|
+
let me = this,
|
|
12491
12492
|
windowNum = me._opts.windows,
|
|
12492
12493
|
maxNum = array.length,
|
|
12493
12494
|
nowNum = 0;
|
|
@@ -12502,7 +12503,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12502
12503
|
}
|
|
12503
12504
|
|
|
12504
12505
|
me.delayTimeId = setTimeout(function () {
|
|
12505
|
-
for (
|
|
12506
|
+
for (let i = 0; i < windowNum; i++) {
|
|
12506
12507
|
if (nowNum == maxNum) {
|
|
12507
12508
|
nowNum = 0;
|
|
12508
12509
|
|
|
@@ -12576,33 +12577,33 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12576
12577
|
* cruiserun 启动巡航
|
|
12577
12578
|
*/
|
|
12578
12579
|
holder: function (type, opts, isStop) {
|
|
12579
|
-
|
|
12580
|
+
let index = this._getChoiceWindow();
|
|
12580
12581
|
|
|
12581
12582
|
if (!this.videoStatus[index]) {
|
|
12582
12583
|
promptAlarm('未选中播放的视频!');
|
|
12583
12584
|
return;
|
|
12584
12585
|
}
|
|
12585
12586
|
|
|
12586
|
-
|
|
12587
|
-
|
|
12587
|
+
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';
|
|
12588
|
+
let typeVal = Number(holdType.split(' ').indexOf(type)) + Number(1);
|
|
12588
12589
|
console.log("holdType:" + typeVal + " type:" + type + (isStop ? ' 停止' : ''));
|
|
12589
12590
|
|
|
12590
12591
|
if (!typeVal || typeVal <= 0) {
|
|
12591
12592
|
console.error('异常PTZ指令:' + typeVal);
|
|
12592
12593
|
}
|
|
12593
12594
|
|
|
12594
|
-
|
|
12595
|
+
let video = this.videoStatus[index].video;
|
|
12595
12596
|
|
|
12596
12597
|
if (isStop) {
|
|
12597
|
-
//
|
|
12598
|
-
|
|
12598
|
+
//let playerId = this._obj.SCWebGetCurrentPlayID();
|
|
12599
|
+
let result = this._obj.SCWebPTZControl(video, 1, typeVal, 0, 0, 0, 0); //let result = this._obj.SCWebPTZControlEx(playerId, 4, 1, 1);
|
|
12599
12600
|
|
|
12600
12601
|
|
|
12601
12602
|
console.log(">>>>yuntai control,stop, video=" + video + ", result=" + result);
|
|
12602
12603
|
return;
|
|
12603
12604
|
}
|
|
12604
12605
|
|
|
12605
|
-
|
|
12606
|
+
let _opts = {
|
|
12606
12607
|
speed: 200,
|
|
12607
12608
|
group: 0,
|
|
12608
12609
|
present: 0,
|
|
@@ -12622,19 +12623,19 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12622
12623
|
* @return playId
|
|
12623
12624
|
*/
|
|
12624
12625
|
playHistory: function (video, startTime, endTime, opts) {
|
|
12625
|
-
|
|
12626
|
+
let me = this;
|
|
12626
12627
|
|
|
12627
|
-
|
|
12628
|
+
let playId = me._obj.SCWebHistoryPlay(video, startTime, endTime);
|
|
12628
12629
|
|
|
12629
12630
|
console.log("play = " + playId);
|
|
12630
12631
|
|
|
12631
12632
|
if (playId < 0) {
|
|
12632
|
-
|
|
12633
|
+
let name = opts.name || '视频';
|
|
12633
12634
|
promptFailed(name + '播放失败!');
|
|
12634
12635
|
return playId;
|
|
12635
12636
|
}
|
|
12636
12637
|
|
|
12637
|
-
|
|
12638
|
+
let index = me._getChoiceWindow();
|
|
12638
12639
|
|
|
12639
12640
|
opts = opts || {};
|
|
12640
12641
|
playId > 0 && (me.videoStatus[index] = {
|
|
@@ -12655,11 +12656,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12655
12656
|
* @param {string} startTime 回放时间(暂时无用)
|
|
12656
12657
|
*/
|
|
12657
12658
|
historyControl: function (playId, playType, playSpeed, startTime) {
|
|
12658
|
-
|
|
12659
|
+
let contorlType = {
|
|
12659
12660
|
play: 1,
|
|
12660
12661
|
pause: 2
|
|
12661
12662
|
};
|
|
12662
|
-
|
|
12663
|
+
let playCommand = contorlType[playType];
|
|
12663
12664
|
|
|
12664
12665
|
if (!playCommand) {
|
|
12665
12666
|
console.error('unsupported type: ', playType);
|
|
@@ -12673,12 +12674,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12673
12674
|
* 历史流控制(原)
|
|
12674
12675
|
*/
|
|
12675
12676
|
_historyControl: function (playId, type, speed, startTime) {
|
|
12676
|
-
|
|
12677
|
+
let contorlType = {
|
|
12677
12678
|
normal: 1,
|
|
12678
12679
|
pause: 2,
|
|
12679
12680
|
'continue': 3
|
|
12680
12681
|
};
|
|
12681
|
-
|
|
12682
|
+
let commad = 1;
|
|
12682
12683
|
type == 'speed' ? speed && speed < 1 ? (commad = 7, speed = 1 / speed) : commad = 6 : commad = contorlType[type];
|
|
12683
12684
|
|
|
12684
12685
|
this._obj.SCWebHistoryControl(playId, commad, speed);
|
|
@@ -12696,7 +12697,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12696
12697
|
* @return 0:失败|1:成功
|
|
12697
12698
|
*/
|
|
12698
12699
|
capturePicture: function (playId) {
|
|
12699
|
-
|
|
12700
|
+
let videoCapImagePath = this._opts.videoCapImagePath ? this._opts.videoCapImagePath : '';
|
|
12700
12701
|
return this._obj.SCWebCapturePicture(playId, videoCapImagePath, '');
|
|
12701
12702
|
},
|
|
12702
12703
|
saveList: function () {
|
|
@@ -12708,7 +12709,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12708
12709
|
}
|
|
12709
12710
|
|
|
12710
12711
|
this.closeAll();
|
|
12711
|
-
|
|
12712
|
+
let me = this;
|
|
12712
12713
|
$.each(this._saveList, function (index, obj) {
|
|
12713
12714
|
me.play(index, obj.video, obj.id, obj.opts);
|
|
12714
12715
|
});
|
|
@@ -12746,7 +12747,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12746
12747
|
* 获取截屏数据
|
|
12747
12748
|
*/
|
|
12748
12749
|
getScreenCaptureData: function (index, callback) {
|
|
12749
|
-
|
|
12750
|
+
let msg = 'IE下暂不支持获取截屏数据!';
|
|
12750
12751
|
console.log(msg);
|
|
12751
12752
|
throw Error(msg);
|
|
12752
12753
|
},
|
|
@@ -12782,7 +12783,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12782
12783
|
/*
|
|
12783
12784
|
* 总的初始化
|
|
12784
12785
|
* 参数示例:
|
|
12785
|
-
*
|
|
12786
|
+
* let opts = {
|
|
12786
12787
|
windows: 4, //初始化的窗口数
|
|
12787
12788
|
conf: { //配置参数
|
|
12788
12789
|
user: conf['video.username'], //用户名
|
|
@@ -12800,7 +12801,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12800
12801
|
};
|
|
12801
12802
|
*/
|
|
12802
12803
|
_init: function ($dom, opts) {
|
|
12803
|
-
|
|
12804
|
+
let me = this; //配置项
|
|
12804
12805
|
|
|
12805
12806
|
me._opts = {
|
|
12806
12807
|
windows: 4,
|
|
@@ -12814,7 +12815,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12814
12815
|
pollInterval: 10
|
|
12815
12816
|
};
|
|
12816
12817
|
$.extend(me._opts, opts);
|
|
12817
|
-
|
|
12818
|
+
let windowsArr = me._opts.windowsArr;
|
|
12818
12819
|
|
|
12819
12820
|
if (!windowsArr || windowsArr.length == 0) {
|
|
12820
12821
|
me._windowList = {
|
|
@@ -12828,8 +12829,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12828
12829
|
} else {
|
|
12829
12830
|
me._windowList = {};
|
|
12830
12831
|
|
|
12831
|
-
for (
|
|
12832
|
-
|
|
12832
|
+
for (let index in windowsArr) {
|
|
12833
|
+
let item = windowsArr[index];
|
|
12833
12834
|
me._windowList[item] = {};
|
|
12834
12835
|
}
|
|
12835
12836
|
|
|
@@ -12872,14 +12873,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12872
12873
|
});
|
|
12873
12874
|
$dom.append(me._obj);
|
|
12874
12875
|
me._obj = me._obj[0];
|
|
12875
|
-
|
|
12876
|
+
let conf = me._opts.conf; //初始化和登录
|
|
12876
12877
|
|
|
12877
|
-
|
|
12878
|
+
let init = me._obj.ScWebDecoderInit(0);
|
|
12878
12879
|
|
|
12879
12880
|
console.log('init:' + init); //是否开启抓图
|
|
12880
12881
|
|
|
12881
12882
|
conf.ip == '127.0.0.1' && (conf.ip = location.hostname);
|
|
12882
|
-
|
|
12883
|
+
let login;
|
|
12883
12884
|
|
|
12884
12885
|
if (conf.token && conf.token.length > 0 && me._obj.SCWebDecoderLoginInVS_Token) {
|
|
12885
12886
|
login = me._obj.SCWebDecoderLoginInVS_Token(conf.token, conf.ip, conf.port);
|
|
@@ -12900,8 +12901,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12900
12901
|
* TODO 添加注释
|
|
12901
12902
|
*/
|
|
12902
12903
|
_getTipObj: function () {
|
|
12903
|
-
|
|
12904
|
-
|
|
12904
|
+
let obj = {};
|
|
12905
|
+
let fncName = 'play playByOrder playAll playInChoice playMulWindows click getWindowsNum setWindowsNum',
|
|
12905
12906
|
fncName2 = 'isPlaying setChoiceWindow close closeAll enableClosede disableClosed addListener removeListener dispatch';
|
|
12906
12907
|
$.each(fncName.split(' '), function (i, name) {
|
|
12907
12908
|
obj[name] = function () {
|
|
@@ -12922,7 +12923,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12922
12923
|
*/
|
|
12923
12924
|
_getMinIndexFreeWindow: function (searchedZoom) {
|
|
12924
12925
|
searchedZoom = searchedZoom || 0;
|
|
12925
|
-
|
|
12926
|
+
let index = Math.ceil(Math.pow(searchedZoom, 2));
|
|
12926
12927
|
|
|
12927
12928
|
for (; index < this._opts.windows; index++) {
|
|
12928
12929
|
if (!this.videoStatus[index]) {
|
|
@@ -12937,8 +12938,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12937
12938
|
* 获取选择的窗口的编号
|
|
12938
12939
|
*/
|
|
12939
12940
|
_getChoiceWindow: function () {
|
|
12940
|
-
//
|
|
12941
|
-
//
|
|
12941
|
+
// let playId = this._obj.SCWebGetCurrentPlayID();
|
|
12942
|
+
// let index;
|
|
12942
12943
|
// if (playId > 0) {
|
|
12943
12944
|
// index = this._obj.SCWebGetRealPlayWindows().split(',')[0];
|
|
12944
12945
|
// this.setChoiceWindow(index ? index : 0);
|
|
@@ -12952,7 +12953,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12952
12953
|
*/
|
|
12953
12954
|
|
|
12954
12955
|
/* _changeWindowsAction: function(num) {
|
|
12955
|
-
|
|
12956
|
+
let me = this,
|
|
12956
12957
|
old = me._opts.windows,
|
|
12957
12958
|
now = num,
|
|
12958
12959
|
oldZoom = Math.sqrt(old),
|
|
@@ -12963,7 +12964,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12963
12964
|
if (me._opts.openChangeWindowStrategy) {
|
|
12964
12965
|
if (old > now) {
|
|
12965
12966
|
for (; now < old ; now++) {
|
|
12966
|
-
|
|
12967
|
+
let tempZoom = Math.ceil(Math.sqrt(now+1));
|
|
12967
12968
|
|
|
12968
12969
|
me.videoStatus[now] && (me._windowList[tempZoom][now] = {
|
|
12969
12970
|
video: me.videoStatus[now].video,
|
|
@@ -12995,7 +12996,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
12995
12996
|
* 切换分屏
|
|
12996
12997
|
*/
|
|
12997
12998
|
_changeWindowsAction: function (num) {
|
|
12998
|
-
|
|
12999
|
+
let me = this,
|
|
12999
13000
|
old = me._opts.windows,
|
|
13000
13001
|
now = num; // oldZoom = Math.sqrt(old),
|
|
13001
13002
|
// nowZoom = Math.sqrt(now);
|
|
@@ -13007,8 +13008,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13007
13008
|
if (me._opts.openChangeWindowStrategy) {
|
|
13008
13009
|
if (old > now) {
|
|
13009
13010
|
for (; now < old; now++) {
|
|
13010
|
-
//
|
|
13011
|
-
|
|
13011
|
+
//let tempZoom = Math.ceil(Math.sqrt(now+1));
|
|
13012
|
+
let tempZoom = me._getWindowsNum(now + 1);
|
|
13012
13013
|
|
|
13013
13014
|
me.videoStatus[now] && (me._windowList[tempZoom][now] = {
|
|
13014
13015
|
video: me.videoStatus[now].video,
|
|
@@ -13039,10 +13040,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13039
13040
|
* now为当前窗口的编号
|
|
13040
13041
|
*/
|
|
13041
13042
|
_getWindowsNum: function (now) {
|
|
13042
|
-
|
|
13043
|
-
|
|
13043
|
+
let me = this;
|
|
13044
|
+
let windowsArr = me._windowsArr;
|
|
13044
13045
|
|
|
13045
|
-
for (
|
|
13046
|
+
for (let index in windowsArr) {
|
|
13046
13047
|
if (now <= windowsArr[index]) {
|
|
13047
13048
|
return windowsArr[index];
|
|
13048
13049
|
}
|
|
@@ -13053,10 +13054,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13053
13054
|
* 获取下一窗口
|
|
13054
13055
|
*/
|
|
13055
13056
|
_getNextWindowsNum: function (old) {
|
|
13056
|
-
|
|
13057
|
-
|
|
13057
|
+
let me = this;
|
|
13058
|
+
let windowsArr = me._windowsArr;
|
|
13058
13059
|
|
|
13059
|
-
for (
|
|
13060
|
+
for (let index in windowsArr) {
|
|
13060
13061
|
if (index == windowsArr.length - 1) {
|
|
13061
13062
|
return windowsArr[index];
|
|
13062
13063
|
}
|
|
@@ -13067,7 +13068,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13067
13068
|
}
|
|
13068
13069
|
},
|
|
13069
13070
|
_addStopHandler: function () {
|
|
13070
|
-
|
|
13071
|
+
let me = this;
|
|
13071
13072
|
|
|
13072
13073
|
window.stopVideo = function (playId, videoId) {
|
|
13073
13074
|
if (me.getWindowByPlayId(playId) != -1 && me.videoStatus[me.getWindowByPlayId(playId)].isPlayBack) {
|
|
@@ -13085,7 +13086,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13085
13086
|
me._regEvent('SCWebStopVideoEvent(playId,videoId)', 'stopVideo(playId,videoId);');
|
|
13086
13087
|
},
|
|
13087
13088
|
_addClickHandler: function () {
|
|
13088
|
-
|
|
13089
|
+
let me = this;
|
|
13089
13090
|
|
|
13090
13091
|
window.clickVideo = function (playId) {
|
|
13091
13092
|
me.dispatch('click', me.videoStatus[me.getWindowByPlayId(playId)]);
|
|
@@ -13094,7 +13095,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13094
13095
|
me._regEvent('SCWebDecoderClick(playId,type)', 'clickVideo(playId);');
|
|
13095
13096
|
},
|
|
13096
13097
|
_addHisHandler: function () {
|
|
13097
|
-
|
|
13098
|
+
let me = this;
|
|
13098
13099
|
|
|
13099
13100
|
window.playbackVideo = function (playId, videoId, historytime) {
|
|
13100
13101
|
me.dispatch('playback', {
|
|
@@ -13108,7 +13109,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13108
13109
|
},
|
|
13109
13110
|
//监听截图事件
|
|
13110
13111
|
_addCapPicHandler: function () {
|
|
13111
|
-
|
|
13112
|
+
let me = this;
|
|
13112
13113
|
|
|
13113
13114
|
window.getCapPicPath = function (playId, capPicPath, capPicName) {
|
|
13114
13115
|
me.dispatch('getCapPicPath', {
|
|
@@ -13122,7 +13123,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13122
13123
|
},
|
|
13123
13124
|
//监听点击视频框的历史回放
|
|
13124
13125
|
_addHistoryPlayHandler: function () {
|
|
13125
|
-
|
|
13126
|
+
let me = this;
|
|
13126
13127
|
|
|
13127
13128
|
window.historyPlay = function (playId, videoId) {
|
|
13128
13129
|
me.dispatch('historyPlay', {
|
|
@@ -13135,7 +13136,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13135
13136
|
},
|
|
13136
13137
|
_regEvent: function (eventName, handlerName) {
|
|
13137
13138
|
window._addScriptFlag = true;
|
|
13138
|
-
|
|
13139
|
+
let script;
|
|
13139
13140
|
|
|
13140
13141
|
try {
|
|
13141
13142
|
script = $('<script>').attr({
|
|
@@ -13149,7 +13150,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13149
13150
|
$('body').append(script);
|
|
13150
13151
|
},
|
|
13151
13152
|
_beforeUnload: function () {
|
|
13152
|
-
|
|
13153
|
+
let me = this;
|
|
13153
13154
|
|
|
13154
13155
|
window.onbeforeunload = function (e) {
|
|
13155
13156
|
me.closeAll();
|
|
@@ -13163,7 +13164,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13163
13164
|
*/
|
|
13164
13165
|
|
|
13165
13166
|
function VideoWebRtc($dom, opts) {
|
|
13166
|
-
|
|
13167
|
+
let _self = this;
|
|
13167
13168
|
|
|
13168
13169
|
if (!opts) {
|
|
13169
13170
|
console.error('VideoWebRtc的参数opts不能为空');
|
|
@@ -13173,8 +13174,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13173
13174
|
hasMediaDevices(); //检测声卡设备为异步方法,耗时在几十毫秒左右,因此需要做延迟
|
|
13174
13175
|
//默认检查次数为40 间隔为20ms
|
|
13175
13176
|
|
|
13176
|
-
|
|
13177
|
-
|
|
13177
|
+
let count = 0;
|
|
13178
|
+
let index = setInterval(function () {
|
|
13178
13179
|
if (count == 40) {
|
|
13179
13180
|
clearInterval(index);
|
|
13180
13181
|
|
|
@@ -13206,7 +13207,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13206
13207
|
* 返回true/false
|
|
13207
13208
|
*/
|
|
13208
13209
|
play: function (index, video, id, opts) {
|
|
13209
|
-
|
|
13210
|
+
let me = this; // if (me.isPlaying(id) != -1) {
|
|
13210
13211
|
// console.info('该视频正在播放');
|
|
13211
13212
|
// return false;
|
|
13212
13213
|
// }
|
|
@@ -13242,7 +13243,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13242
13243
|
* 返回true/false
|
|
13243
13244
|
*/
|
|
13244
13245
|
playByOrder: function (video, id, opts) {
|
|
13245
|
-
|
|
13246
|
+
let freeWindow = this._getMinIndexFreeWindow();
|
|
13246
13247
|
|
|
13247
13248
|
if (freeWindow == -1 || this._getChoiceWindow() != -1 && !this.getInChoiceVideo() && this._opts.windowsNum > 1) {
|
|
13248
13249
|
return this.playInChoice(video, id, opts);
|
|
@@ -13255,18 +13256,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13255
13256
|
* 扩展视频窗口数的播放方式
|
|
13256
13257
|
*/
|
|
13257
13258
|
playByOrderExpandWindow: function (video, id, opts) {
|
|
13258
|
-
|
|
13259
|
+
let me = this;
|
|
13259
13260
|
|
|
13260
|
-
|
|
13261
|
+
let freeWindow = this._getMinIndexFreeWindow(); // while (this._opts.windows < 16 && freeWindow == -1) {
|
|
13261
13262
|
// me.setWindowsNum(me._getNextWindowsNum(parseInt(me._opts.windows)));
|
|
13262
13263
|
// freeWindow = this._getMinIndexFreeWindow(0);
|
|
13263
13264
|
// }
|
|
13264
13265
|
|
|
13265
13266
|
|
|
13266
|
-
|
|
13267
|
+
let maxWindows = this._opts.windowsNum || 16;
|
|
13267
13268
|
|
|
13268
13269
|
while (me._opts.windows < maxWindows && freeWindow == -1) {
|
|
13269
|
-
|
|
13270
|
+
let zoom = Math.sqrt(this._opts.windows * 1) + 1;
|
|
13270
13271
|
|
|
13271
13272
|
if (this._opts.windows == 6) {
|
|
13272
13273
|
this.setWindowsNum(9);
|
|
@@ -13296,7 +13297,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13296
13297
|
throw new Error('windows is not enough');
|
|
13297
13298
|
}
|
|
13298
13299
|
|
|
13299
|
-
|
|
13300
|
+
let me = this;
|
|
13300
13301
|
me.closeAll();
|
|
13301
13302
|
$.each(array, function (i, obj) {
|
|
13302
13303
|
me.play(i, obj.video, obj.id, obj.opts);
|
|
@@ -13307,8 +13308,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13307
13308
|
* 在鼠标选中的窗口中播放视频
|
|
13308
13309
|
*/
|
|
13309
13310
|
playInChoice: function (video, id, opts) {
|
|
13310
|
-
|
|
13311
|
-
|
|
13311
|
+
let me = this;
|
|
13312
|
+
let selView = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li.sel');
|
|
13312
13313
|
|
|
13313
13314
|
if (selView.length) {
|
|
13314
13315
|
if (me.VIDEO_DATA[selView.index()].playing) {
|
|
@@ -13327,8 +13328,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13327
13328
|
* 检索当前点的视频是否被播放,被播放则返回播放的视频窗口
|
|
13328
13329
|
*/
|
|
13329
13330
|
isPlaying: function (id) {
|
|
13330
|
-
|
|
13331
|
-
|
|
13331
|
+
let me = this;
|
|
13332
|
+
let index = -1;
|
|
13332
13333
|
$.each(me.VIDEO_DATA, function (key, val) {
|
|
13333
13334
|
if (id == val.id && me.VIDEO_DATA[key].playing) {
|
|
13334
13335
|
index = key;
|
|
@@ -13341,7 +13342,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13341
13342
|
* 判断指定窗口是否正在播放视频
|
|
13342
13343
|
*/
|
|
13343
13344
|
isPlayingByIndex: function (index) {
|
|
13344
|
-
|
|
13345
|
+
let me = this;
|
|
13345
13346
|
if (index > me.VIDEO_DATA.length - 1 || index < 0) return false;
|
|
13346
13347
|
return me.VIDEO_DATA[index].playing;
|
|
13347
13348
|
},
|
|
@@ -13373,20 +13374,20 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13373
13374
|
* 关闭指定视频编号正在播放的视频
|
|
13374
13375
|
*/
|
|
13375
13376
|
closeByVideo: function (video, isSave) {
|
|
13376
|
-
|
|
13377
|
+
let me = this;
|
|
13377
13378
|
|
|
13378
13379
|
if (video == undefined) {
|
|
13379
13380
|
console.info('video参数错误');
|
|
13380
13381
|
return;
|
|
13381
13382
|
}
|
|
13382
13383
|
|
|
13383
|
-
|
|
13384
|
+
let videoData = me.VIDEO_DATA;
|
|
13384
13385
|
|
|
13385
13386
|
if (!videoData || videoData.length == 0) {
|
|
13386
13387
|
return;
|
|
13387
13388
|
}
|
|
13388
13389
|
|
|
13389
|
-
for (
|
|
13390
|
+
for (let i in videoData) {
|
|
13390
13391
|
if (video == videoData[i].video) {
|
|
13391
13392
|
me.close(videoData[i].index);
|
|
13392
13393
|
|
|
@@ -13401,18 +13402,18 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13401
13402
|
* 关闭所有视频
|
|
13402
13403
|
*/
|
|
13403
13404
|
closeAll: function (isSave) {
|
|
13404
|
-
|
|
13405
|
-
|
|
13405
|
+
let me = this;
|
|
13406
|
+
let openVideos = [];
|
|
13406
13407
|
|
|
13407
|
-
for (
|
|
13408
|
+
for (let i = me._opts.windowsBeginIndex; i < me._opts.windowsBeginIndex + me._opts.windowsNum; i++) {
|
|
13408
13409
|
if (me.VIDEO_DATA[i].playing) {
|
|
13409
13410
|
me.close(i, isSave);
|
|
13410
13411
|
}
|
|
13411
13412
|
} // if(!openVideos.length) return;
|
|
13412
13413
|
//
|
|
13413
13414
|
// //适当延时进行关闭
|
|
13414
|
-
//
|
|
13415
|
-
//
|
|
13415
|
+
// let count = 0;
|
|
13416
|
+
// let interval = setInterval(function(){
|
|
13416
13417
|
// if(count == openVideos.length){
|
|
13417
13418
|
// clearInterval(interval);
|
|
13418
13419
|
// }else{
|
|
@@ -13441,7 +13442,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13441
13442
|
* 分屏切换,传入的参数为新的屏数
|
|
13442
13443
|
*/
|
|
13443
13444
|
setWindowsNum: function (num) {
|
|
13444
|
-
|
|
13445
|
+
let me = this; //切换屏幕后 选中空闲最小的窗口
|
|
13445
13446
|
|
|
13446
13447
|
if (me._opts.windows != num && me._getMinIndexFreeWindow() != -1) {
|
|
13447
13448
|
me.setChoiceWindow(me._getMinIndexFreeWindow());
|
|
@@ -13449,11 +13450,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13449
13450
|
|
|
13450
13451
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]').removeClass("mode-" + me._opts.windows).addClass("mode-" + num);
|
|
13451
13452
|
|
|
13452
|
-
|
|
13453
|
+
let _li = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li').hide();
|
|
13453
13454
|
|
|
13454
13455
|
me._opts.windows = num;
|
|
13455
13456
|
|
|
13456
|
-
for (
|
|
13457
|
+
for (let i = 0; i < num; i++) {
|
|
13457
13458
|
_li.eq(i).show();
|
|
13458
13459
|
} //分屏切换事件
|
|
13459
13460
|
|
|
@@ -13482,7 +13483,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13482
13483
|
|
|
13483
13484
|
time = $.isNumeric(time) ? time : this._opts.pollInterval;
|
|
13484
13485
|
this._pollArray = array;
|
|
13485
|
-
|
|
13486
|
+
let me = this,
|
|
13486
13487
|
windowNum = me._opts.windows,
|
|
13487
13488
|
maxNum = array.length,
|
|
13488
13489
|
nowNum = 0;
|
|
@@ -13490,7 +13491,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13490
13491
|
this._polltimer = new PollTimer(function (firstRun) {
|
|
13491
13492
|
me.closeAll();
|
|
13492
13493
|
wait(500).then(function () {
|
|
13493
|
-
for (
|
|
13494
|
+
for (let i = 0; i < windowNum; i++) {
|
|
13494
13495
|
if (nowNum == maxNum) {
|
|
13495
13496
|
nowNum = 0;
|
|
13496
13497
|
|
|
@@ -13535,7 +13536,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13535
13536
|
return !!this._polltimer;
|
|
13536
13537
|
},
|
|
13537
13538
|
holder: function (type, opts, isStop) {
|
|
13538
|
-
|
|
13539
|
+
let index = this._getChoiceWindow();
|
|
13539
13540
|
|
|
13540
13541
|
if (index < 0) {
|
|
13541
13542
|
promptFailed('请先选中视频');
|
|
@@ -13552,8 +13553,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13552
13553
|
* @return playId
|
|
13553
13554
|
*/
|
|
13554
13555
|
playHistory: function (video, startTime, endTime, opts) {
|
|
13555
|
-
|
|
13556
|
-
|
|
13556
|
+
let me = this;
|
|
13557
|
+
let index; //回放是一分屏的默认使用一个窗口
|
|
13557
13558
|
|
|
13558
13559
|
if (me._opts.windowsNum == 1) {
|
|
13559
13560
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13575,10 +13576,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13575
13576
|
*/
|
|
13576
13577
|
closeHistory: function (video, index) {
|
|
13577
13578
|
if (!video) return;
|
|
13578
|
-
|
|
13579
|
+
let me = this;
|
|
13579
13580
|
|
|
13580
13581
|
if (!index) {
|
|
13581
|
-
|
|
13582
|
+
let index;
|
|
13582
13583
|
|
|
13583
13584
|
if (me._opts.windowsNum == 1) {
|
|
13584
13585
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13596,8 +13597,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13596
13597
|
* @param {string} startTime 回放时间(暂时无用)
|
|
13597
13598
|
*/
|
|
13598
13599
|
historyControl: function (video, playType, playSpeed, startTime) {
|
|
13599
|
-
|
|
13600
|
-
|
|
13600
|
+
let me = this;
|
|
13601
|
+
let index;
|
|
13601
13602
|
|
|
13602
13603
|
if (me._opts.windowsNum == 1) {
|
|
13603
13604
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13616,7 +13617,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13616
13617
|
}
|
|
13617
13618
|
|
|
13618
13619
|
this.closeAll();
|
|
13619
|
-
|
|
13620
|
+
let me = this;
|
|
13620
13621
|
$.each(this._saveList, function (index, obj) {
|
|
13621
13622
|
if (obj.video) {
|
|
13622
13623
|
me.play(obj.index, obj.video, obj.id, obj.opts);
|
|
@@ -13628,8 +13629,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13628
13629
|
* 获取当前选择窗口的视频video
|
|
13629
13630
|
*/
|
|
13630
13631
|
getInChoiceVideo: function () {
|
|
13631
|
-
|
|
13632
|
-
|
|
13632
|
+
let me = this;
|
|
13633
|
+
let selView = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li.sel');
|
|
13633
13634
|
|
|
13634
13635
|
if (selView.length && me.VIDEO_DATA[selView.index()].video) {
|
|
13635
13636
|
return me.VIDEO_DATA[selView.index()];
|
|
@@ -13657,22 +13658,22 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13657
13658
|
* @param callback 回调函数
|
|
13658
13659
|
*/
|
|
13659
13660
|
getScreenCaptureData: function (index, callback) {
|
|
13660
|
-
|
|
13661
|
+
let me = this; //如果index为空则使用选中窗口的index
|
|
13661
13662
|
|
|
13662
|
-
|
|
13663
|
+
let dataObj = me.VIDEO_DATA[index != undefined ? index : me._getChoiceWindow()];
|
|
13663
13664
|
|
|
13664
13665
|
if (!dataObj.playing) {
|
|
13665
13666
|
promptAlarm('请选择播放的视频源!');
|
|
13666
13667
|
return;
|
|
13667
13668
|
}
|
|
13668
13669
|
|
|
13669
|
-
|
|
13670
|
-
|
|
13670
|
+
let canvasObj = document.getElementById('myCanvas');
|
|
13671
|
+
let videoObj = dataObj.tagBox.get(0);
|
|
13671
13672
|
canvasObj.width = dataObj.tagBox.parent().width();
|
|
13672
13673
|
canvasObj.height = dataObj.tagBox.parent().height();
|
|
13673
|
-
|
|
13674
|
+
let ctx = canvasObj.getContext("2d");
|
|
13674
13675
|
ctx.drawImage(videoObj, 0, 0, dataObj.tagBox.parent().width(), dataObj.tagBox.parent().height());
|
|
13675
|
-
|
|
13676
|
+
let dataUrl = canvasObj.toDataURL('image/jpeg');
|
|
13676
13677
|
callback ? callback(dataUrl) : null;
|
|
13677
13678
|
},
|
|
13678
13679
|
|
|
@@ -13680,7 +13681,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13680
13681
|
* 开始录像
|
|
13681
13682
|
*/
|
|
13682
13683
|
startAvRecord: function (index) {
|
|
13683
|
-
|
|
13684
|
+
let me = this;
|
|
13684
13685
|
return me.VIDEO_DATA[index].recordAv("start_av_record", recordAvBusinessId);
|
|
13685
13686
|
},
|
|
13686
13687
|
|
|
@@ -13688,7 +13689,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13688
13689
|
* 结束录像
|
|
13689
13690
|
*/
|
|
13690
13691
|
stopAvRecord: function (index) {
|
|
13691
|
-
|
|
13692
|
+
let me = this;
|
|
13692
13693
|
return me.VIDEO_DATA[index].recordAv("stop_av_record", recordAvBusinessId);
|
|
13693
13694
|
},
|
|
13694
13695
|
|
|
@@ -13697,7 +13698,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13697
13698
|
* @param resolution 新分辨率
|
|
13698
13699
|
*/
|
|
13699
13700
|
changeResolution: function (index, resolution) {
|
|
13700
|
-
|
|
13701
|
+
let me = this;
|
|
13701
13702
|
return me.VIDEO_DATA[index].changeResolution("change_resolution", resolution);
|
|
13702
13703
|
},
|
|
13703
13704
|
|
|
@@ -13707,8 +13708,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13707
13708
|
* @param centerTel 调度中心号
|
|
13708
13709
|
*/
|
|
13709
13710
|
openPocCall: function (pocNo, centerTel) {
|
|
13710
|
-
|
|
13711
|
-
|
|
13711
|
+
let me = this;
|
|
13712
|
+
let index; //对讲预呼叫默认使用一个窗口
|
|
13712
13713
|
|
|
13713
13714
|
if (me._opts.windowsNum == 1) {
|
|
13714
13715
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13729,8 +13730,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13729
13730
|
* @param centerTel 调度中心号
|
|
13730
13731
|
*/
|
|
13731
13732
|
closePocCall: function (pocNo, centerTel) {
|
|
13732
|
-
|
|
13733
|
-
|
|
13733
|
+
let me = this;
|
|
13734
|
+
let index; //对讲预呼叫默认使用一个窗口
|
|
13734
13735
|
|
|
13735
13736
|
if (me._opts.windowsNum == 1) {
|
|
13736
13737
|
index = me._opts.windowsBeginIndex;
|
|
@@ -13751,7 +13752,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13751
13752
|
* @param businessId 业务ID
|
|
13752
13753
|
*/
|
|
13753
13754
|
setRecordAvBusinessId: function (businessId) {
|
|
13754
|
-
//
|
|
13755
|
+
//let me = this;
|
|
13755
13756
|
recordAvBusinessId = businessId;
|
|
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
|
sendAudio: 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 = true;
|
|
13765
13766
|
},
|
|
13766
13767
|
|
|
@@ -13768,8 +13769,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13768
13769
|
* 关闭音频
|
|
13769
13770
|
*/
|
|
13770
13771
|
unSendAudio: function (index) {
|
|
13771
|
-
|
|
13772
|
-
|
|
13772
|
+
let me = this;
|
|
13773
|
+
index = index != undefined ? index : me._opts.windowsBeginIndex;
|
|
13773
13774
|
me.VIDEO_DATA[index].stream.getAudioTracks()[0].enabled = false;
|
|
13774
13775
|
},
|
|
13775
13776
|
|
|
@@ -13798,7 +13799,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13798
13799
|
* 获取编号最小的空闲窗口的编号
|
|
13799
13800
|
*/
|
|
13800
13801
|
_getMinIndexFreeWindow: function (index) {
|
|
13801
|
-
|
|
13802
|
+
let me = this;
|
|
13802
13803
|
index = index || me._opts.windowsBeginIndex;
|
|
13803
13804
|
|
|
13804
13805
|
for (; index < me._opts.windowsBeginIndex + me._opts.windows; index++) {
|
|
@@ -13814,8 +13815,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13814
13815
|
* 获取选中的窗口的index
|
|
13815
13816
|
*/
|
|
13816
13817
|
_getChoiceWindow: function () {
|
|
13817
|
-
|
|
13818
|
-
|
|
13818
|
+
let me = this;
|
|
13819
|
+
let selView = $('[video-flag="' + me._opts.windowsBeginIndex + '"]>li.sel');
|
|
13819
13820
|
|
|
13820
13821
|
if (selView.length) {
|
|
13821
13822
|
return selView.index();
|
|
@@ -13828,10 +13829,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13828
13829
|
* 获取下一窗口
|
|
13829
13830
|
*/
|
|
13830
13831
|
_getNextWindowsNum: function (old) {
|
|
13831
|
-
|
|
13832
|
-
|
|
13832
|
+
let me = this;
|
|
13833
|
+
let windowsArr = me._windowsArr;
|
|
13833
13834
|
|
|
13834
|
-
for (
|
|
13835
|
+
for (let index in windowsArr) {
|
|
13835
13836
|
if (index == windowsArr.length - 1) {
|
|
13836
13837
|
return windowsArr[index];
|
|
13837
13838
|
}
|
|
@@ -13846,7 +13847,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13846
13847
|
* 设置鼠标选中窗口
|
|
13847
13848
|
*/
|
|
13848
13849
|
_clickWindow: function () {
|
|
13849
|
-
|
|
13850
|
+
let me = this; //视频窗口选中
|
|
13850
13851
|
|
|
13851
13852
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]>li').click(function () {
|
|
13852
13853
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]>li').removeClass("sel");
|
|
@@ -13861,7 +13862,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13861
13862
|
/*
|
|
13862
13863
|
* 总的初始化
|
|
13863
13864
|
* 参数示例:
|
|
13864
|
-
*
|
|
13865
|
+
* let opts = {
|
|
13865
13866
|
windows: 4, //初始化的窗口数
|
|
13866
13867
|
conf: { //配置参数
|
|
13867
13868
|
user: 'admin', //用户名
|
|
@@ -13872,7 +13873,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13872
13873
|
};
|
|
13873
13874
|
*/
|
|
13874
13875
|
_init: function ($dom, opts) {
|
|
13875
|
-
|
|
13876
|
+
let me = this; //配置项
|
|
13876
13877
|
|
|
13877
13878
|
me._opts = {
|
|
13878
13879
|
windows: 4,
|
|
@@ -13883,7 +13884,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13883
13884
|
|
|
13884
13885
|
};
|
|
13885
13886
|
$.extend(me._opts, opts);
|
|
13886
|
-
|
|
13887
|
+
let windowsArr = me._opts.windowsArr;
|
|
13887
13888
|
|
|
13888
13889
|
if (!windowsArr || windowsArr.length == 0) {
|
|
13889
13890
|
me._windowList = {
|
|
@@ -13897,8 +13898,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13897
13898
|
} else {
|
|
13898
13899
|
me._windowList = {};
|
|
13899
13900
|
|
|
13900
|
-
for (
|
|
13901
|
-
|
|
13901
|
+
for (let index in windowsArr) {
|
|
13902
|
+
let item = windowsArr[index];
|
|
13902
13903
|
me._windowList[item] = {};
|
|
13903
13904
|
}
|
|
13904
13905
|
|
|
@@ -13933,11 +13934,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13933
13934
|
* 初始化按钮点击事件
|
|
13934
13935
|
*/
|
|
13935
13936
|
_initBtnEvent: function () {
|
|
13936
|
-
|
|
13937
|
-
|
|
13937
|
+
let me = this;
|
|
13938
|
+
let videoFlagObj = $('[video-flag="' + me._opts.windowsBeginIndex + '"]'); //锁定视频事件
|
|
13938
13939
|
|
|
13939
13940
|
videoFlagObj.find("button[name='lockVideo']").click(function () {
|
|
13940
|
-
|
|
13941
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
13941
13942
|
|
|
13942
13943
|
if (!me.VIDEO_DATA[index].playing) {
|
|
13943
13944
|
promptAlarm('请选择播放的视频源!');
|
|
@@ -13954,9 +13955,9 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13954
13955
|
}); //接收音频事件
|
|
13955
13956
|
|
|
13956
13957
|
videoFlagObj.find("button[name='recvAudio']").click(function () {
|
|
13957
|
-
|
|
13958
|
+
let _self = this;
|
|
13958
13959
|
|
|
13959
|
-
|
|
13960
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
13960
13961
|
|
|
13961
13962
|
if (!me.VIDEO_DATA[index].playing) {
|
|
13962
13963
|
promptAlarm('请选择播放的视频源!');
|
|
@@ -13970,17 +13971,17 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
13970
13971
|
me.VIDEO_DATA[index].tagBox.muted = false;
|
|
13971
13972
|
} else {
|
|
13972
13973
|
//发送前先关闭其它音频通道(包括接收和发送音频)
|
|
13973
|
-
|
|
13974
|
+
let lis = $($(_self).parent().parent().parent()).children();
|
|
13974
13975
|
|
|
13975
|
-
for (
|
|
13976
|
-
|
|
13976
|
+
for (let i = 0; i < lis.length; i++) {
|
|
13977
|
+
let btnIndex = Number($(lis[i]).attr("index"));
|
|
13977
13978
|
|
|
13978
13979
|
if (index == btnIndex) {
|
|
13979
13980
|
continue;
|
|
13980
13981
|
}
|
|
13981
13982
|
|
|
13982
|
-
|
|
13983
|
-
|
|
13983
|
+
let recvBtn = $($(lis[i]).find("button[name='recvAudio']")[0]);
|
|
13984
|
+
let sendBtn = $($(lis[i]).find("button[name='sendAudio']")[0]);
|
|
13984
13985
|
|
|
13985
13986
|
if (recvBtn.attr("class") == 'recv-audio-btn') {
|
|
13986
13987
|
if (me.VIDEO_DATA[btnIndex].playing) {
|
|
@@ -14005,7 +14006,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14005
14006
|
}); //发送音频事件
|
|
14006
14007
|
|
|
14007
14008
|
videoFlagObj.find("button[name='sendAudio']").click(function () {
|
|
14008
|
-
|
|
14009
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
14009
14010
|
|
|
14010
14011
|
if (!me.VIDEO_DATA[index].playing) {
|
|
14011
14012
|
promptAlarm('请选择播放的视频源!');
|
|
@@ -14024,7 +14025,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14024
14025
|
}); //关闭视频事件
|
|
14025
14026
|
|
|
14026
14027
|
videoFlagObj.find("button[name='closeVideo']").click(function () {
|
|
14027
|
-
|
|
14028
|
+
let index = Number($(this).parent().parent().attr("index"));
|
|
14028
14029
|
me.close(index);
|
|
14029
14030
|
});
|
|
14030
14031
|
},
|
|
@@ -14033,7 +14034,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14033
14034
|
* 双击某个视频全屏
|
|
14034
14035
|
*/
|
|
14035
14036
|
_dbClickFullScreen: function () {
|
|
14036
|
-
|
|
14037
|
+
let me = this;
|
|
14037
14038
|
$('[video-flag="' + me._opts.windowsBeginIndex + '"]').find('.video-box').on("dblclick", function () {
|
|
14038
14039
|
me._fullScreenEvent(this);
|
|
14039
14040
|
});
|
|
@@ -14043,7 +14044,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14043
14044
|
* 全屏事件
|
|
14044
14045
|
*/
|
|
14045
14046
|
_fullScreenEvent: function (el) {
|
|
14046
|
-
|
|
14047
|
+
let isFullscreen = el.fullScreen || el.mozFullScreen || el.webkitIsFullScreen;
|
|
14047
14048
|
|
|
14048
14049
|
if (!isFullscreen) {
|
|
14049
14050
|
//进入全屏,多重短路表达式
|
|
@@ -14066,28 +14067,28 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14066
14067
|
* 在视频界面上显示视频的信息 码率、分辨率、丢包率
|
|
14067
14068
|
*/
|
|
14068
14069
|
_showVideoInfo: function () {
|
|
14069
|
-
|
|
14070
|
+
let me = this;
|
|
14070
14071
|
|
|
14071
14072
|
function clock() {
|
|
14072
|
-
for (
|
|
14073
|
+
for (let i = 0; i < me.VIDEO_DATA.length; i++) {
|
|
14073
14074
|
if (me.VIDEO_DATA[i].playing) {
|
|
14074
|
-
|
|
14075
|
-
|
|
14075
|
+
let number = Number(i) + Number(1);
|
|
14076
|
+
let videoObj = document.getElementById('video-' + number);
|
|
14076
14077
|
if (!videoObj) continue;
|
|
14077
|
-
|
|
14078
|
-
|
|
14078
|
+
let width = videoObj.videoWidth;
|
|
14079
|
+
let height = videoObj.videoHeight; //码率
|
|
14079
14080
|
|
|
14080
|
-
|
|
14081
|
+
let bitrate = me.VIDEO_DATA[i].sipcall.getBitrate();
|
|
14081
14082
|
|
|
14082
14083
|
if (!width || !height || !bitrate || bitrate.indexOf("kbits") == -1 || bitrate.indexOf("NaN") != -1) {
|
|
14083
14084
|
continue;
|
|
14084
14085
|
}
|
|
14085
14086
|
|
|
14086
|
-
|
|
14087
|
+
let config = me.VIDEO_DATA[i].sipcall.webrtcStuff;
|
|
14087
14088
|
|
|
14088
14089
|
me._setPacketsLostRate(i, config, me);
|
|
14089
14090
|
|
|
14090
|
-
|
|
14091
|
+
let resolution = width + "×" + height;
|
|
14091
14092
|
|
|
14092
14093
|
switch (height + '') {
|
|
14093
14094
|
case '1080':
|
|
@@ -14110,8 +14111,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14110
14111
|
break;
|
|
14111
14112
|
}
|
|
14112
14113
|
|
|
14113
|
-
|
|
14114
|
-
|
|
14114
|
+
let videoInfoObj = document.getElementById('info-' + number);
|
|
14115
|
+
let videoName = me.VIDEO_DATA[i].opts && me.VIDEO_DATA[i].opts.name ? me.VIDEO_DATA[i].opts.name : me.VIDEO_DATA[i].video;
|
|
14115
14116
|
videoInfoObj.innerHTML = videoName + ' ' + resolution + '<br>丢包率:' + me.VIDEO_DATA[i].packetsLostRate + ' ' + bitrate.replace("kbits/sec", "kbps");
|
|
14116
14117
|
}
|
|
14117
14118
|
}
|
|
@@ -14137,7 +14138,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14137
14138
|
return;
|
|
14138
14139
|
}
|
|
14139
14140
|
|
|
14140
|
-
|
|
14141
|
+
let inStats = false; // Check if these are statistics on incoming media
|
|
14141
14142
|
|
|
14142
14143
|
if ((res.mediaType === "video" || res.id.toLowerCase().indexOf("video") > -1) && res.type === "inbound-rtp" && res.id.indexOf("rtcp") < 0) {
|
|
14143
14144
|
// New stats
|
|
@@ -14154,12 +14155,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14154
14155
|
if (!res.packetsLost || isNaN(res.packetsLost) || Number(res.packetsLost) == '0' || res.packetsLost == 'NaN') {
|
|
14155
14156
|
me.VIDEO_DATA[index].packetsLostRate = '0.00%';
|
|
14156
14157
|
} else {
|
|
14157
|
-
|
|
14158
|
-
|
|
14159
|
-
|
|
14158
|
+
let packetsLost = Number(res.packetsLost) - Number(me.VIDEO_DATA[index].packetsLostSum);
|
|
14159
|
+
let packetsReceived = Number(res.packetsReceived) - Number(me.VIDEO_DATA[index].packetsReceivedSum);
|
|
14160
|
+
let packetsLostRate = 0; //防止分母是0
|
|
14160
14161
|
|
|
14161
14162
|
if (packetsLost > 0) {
|
|
14162
|
-
|
|
14163
|
+
let packetsLostRate = Number(packetsLost) / (Number(packetsLost) + Number(packetsReceived)) * 100;
|
|
14163
14164
|
}
|
|
14164
14165
|
|
|
14165
14166
|
me.VIDEO_DATA[index].packetsLostRate = packetsLostRate.toFixed(2) + '%';
|
|
@@ -14179,12 +14180,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14179
14180
|
* 视频界面的初始化,在传过来的dom中创建界面
|
|
14180
14181
|
*/
|
|
14181
14182
|
_initVideoView: function ($dom) {
|
|
14182
|
-
|
|
14183
|
-
|
|
14184
|
-
|
|
14185
|
-
|
|
14183
|
+
let me = this;
|
|
14184
|
+
let objClass = (me._opts.windowsNum == 1 ? 'video-main-full mode-' : 'video-main mode-') + me._opts.windows;
|
|
14185
|
+
let videoHtml = '<ul class="' + objClass + '" id="video-main-web-rtc" video-flag="' + me._opts.windowsBeginIndex + '">';
|
|
14186
|
+
let index = me._opts.windowsBeginIndex + 1;
|
|
14186
14187
|
|
|
14187
|
-
for (
|
|
14188
|
+
for (let i = index; i < index + me._opts.windowsNum; i++) {
|
|
14188
14189
|
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>';
|
|
14189
14190
|
|
|
14190
14191
|
checkUserMediaAvailable() && (videoHtml += '<button type="button" class="unsend-audio-btn hide" name="sendAudio"></button>');
|
|
@@ -14200,12 +14201,12 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14200
14201
|
* 音频界面的初始化,在传过来的dom中创建界面
|
|
14201
14202
|
*/
|
|
14202
14203
|
_initAudioView: function ($dom) {
|
|
14203
|
-
|
|
14204
|
-
|
|
14205
|
-
|
|
14206
|
-
|
|
14204
|
+
let me = this;
|
|
14205
|
+
let objClass = (me._opts.windowsNum == 1 ? 'video-main-full mode-' : 'video-main mode-') + me._opts.windows;
|
|
14206
|
+
let videoHtml = '<ul class="' + objClass + '" id="video-main-web-rtc" video-flag="' + me._opts.windowsBeginIndex + '">';
|
|
14207
|
+
let index = me._opts.windowsBeginIndex + 1;
|
|
14207
14208
|
|
|
14208
|
-
for (
|
|
14209
|
+
for (let i = index; i < index + me._opts.windowsNum; i++) {
|
|
14209
14210
|
videoHtml += '<audio id="audio-' + i + '" autoplay ></video>';
|
|
14210
14211
|
}
|
|
14211
14212
|
|
|
@@ -14216,7 +14217,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14216
14217
|
* Janus的初始化
|
|
14217
14218
|
*/
|
|
14218
14219
|
_initJanus: function () {
|
|
14219
|
-
|
|
14220
|
+
let me = this; // if (window.parent && window.parent.janus) {
|
|
14220
14221
|
// me._initSVideo(window.parent.janus);
|
|
14221
14222
|
// return;
|
|
14222
14223
|
// }
|
|
@@ -14232,7 +14233,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14232
14233
|
return;
|
|
14233
14234
|
}
|
|
14234
14235
|
|
|
14235
|
-
|
|
14236
|
+
let janusUrl = me._opts.conf.janusUrl;
|
|
14236
14237
|
checkIsHttps() && (janusUrl = janusUrl.replace('ws:', 'wss:'));
|
|
14237
14238
|
me._opts.janus = new Janus({
|
|
14238
14239
|
server: janusUrl.indexOf("127.0.0.1") == -1 ? janusUrl : janusUrl.split("//")[0] + "//" + location.hostname + ":" + janusUrl.split(":")[2],
|
|
@@ -14262,7 +14263,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14262
14263
|
* 销毁:Janus销毁、资源释放
|
|
14263
14264
|
*/
|
|
14264
14265
|
destoryJanus: function () {
|
|
14265
|
-
|
|
14266
|
+
let me = this;
|
|
14266
14267
|
|
|
14267
14268
|
me._opts.janus.destroy({
|
|
14268
14269
|
success: function () {
|
|
@@ -14279,10 +14280,10 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14279
14280
|
* 初始化插件、登陆,初始化窗口
|
|
14280
14281
|
*/
|
|
14281
14282
|
_initSVideo: function (janus) {
|
|
14282
|
-
|
|
14283
|
+
let me = this; //已经初始化过,则直接拿来用
|
|
14283
14284
|
// if (janus && (registered || (window.parent && window.parent.registered))) {
|
|
14284
14285
|
// //生成主界面
|
|
14285
|
-
// for(
|
|
14286
|
+
// for(let i = me._opts.windowsBeginIndex; i < me._opts.windowsBeginIndex + me._opts.windowsNum; i++){
|
|
14286
14287
|
// me.VIDEO_DATA[i] = new SVideo({
|
|
14287
14288
|
// index:i,
|
|
14288
14289
|
// janus:janus
|
|
@@ -14293,14 +14294,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14293
14294
|
// }
|
|
14294
14295
|
//初始化一个插件,用来登陆,不能用此插件播放视频。
|
|
14295
14296
|
|
|
14296
|
-
|
|
14297
|
+
let _loginSipCall = null;
|
|
14297
14298
|
janus.attach({
|
|
14298
14299
|
plugin: me._opts.conf.janusPlugin ? me._opts.conf.janusPlugin : "janus.plugin.videoserver",
|
|
14299
14300
|
opaqueId: "siptest-" + Janus.randomString(12),
|
|
14300
14301
|
success: function (pluginHandle) {
|
|
14301
14302
|
console.log("Janus登陆插件初始化成功!");
|
|
14302
14303
|
_loginSipCall = pluginHandle;
|
|
14303
|
-
|
|
14304
|
+
let register = {
|
|
14304
14305
|
"request": "register",
|
|
14305
14306
|
"username": me._opts.conf.user,
|
|
14306
14307
|
"secret": me._opts.conf.passwd
|
|
@@ -14321,8 +14322,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14321
14322
|
return false;
|
|
14322
14323
|
}
|
|
14323
14324
|
|
|
14324
|
-
|
|
14325
|
-
|
|
14325
|
+
let result = msg["result"];
|
|
14326
|
+
let event = result["event"];
|
|
14326
14327
|
|
|
14327
14328
|
if (result.error_code && result.error_code != 0) {
|
|
14328
14329
|
promptFailed(FAILED_CODE[result.error_code] || '错误码:' + result.error_code);
|
|
@@ -14337,11 +14338,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14337
14338
|
}
|
|
14338
14339
|
|
|
14339
14340
|
if (event === 'registered') {
|
|
14340
|
-
|
|
14341
|
+
let userToken = result["userToken"];
|
|
14341
14342
|
console.log('janus登陆成功');
|
|
14342
14343
|
registered = true; //生成主界面
|
|
14343
14344
|
|
|
14344
|
-
for (
|
|
14345
|
+
for (let i = me._opts.windowsBeginIndex; i < me._opts.windowsBeginIndex + me._opts.windowsNum; i++) {
|
|
14345
14346
|
me.VIDEO_DATA[i] = new SVideo({
|
|
14346
14347
|
index: i,
|
|
14347
14348
|
janus: janus,
|
|
@@ -14358,7 +14359,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14358
14359
|
});
|
|
14359
14360
|
}
|
|
14360
14361
|
};
|
|
14361
|
-
|
|
14362
|
+
let FAILED_CODE = {
|
|
14362
14363
|
1001: "账号或密码错误",
|
|
14363
14364
|
1002: "该帐号已连接",
|
|
14364
14365
|
1004: "没有鉴权",
|
|
@@ -14382,13 +14383,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14382
14383
|
4005: "客户端已打开对讲",
|
|
14383
14384
|
4006: "终端离开云眼音频"
|
|
14384
14385
|
};
|
|
14385
|
-
|
|
14386
|
+
let STATUS_CODE_ARR = ['5002', '4003', '4004', '4005', '4006']; //window.VIDEO_DATA = [];//记录视频各分屏的状态
|
|
14386
14387
|
|
|
14387
14388
|
window.windowsSum = 0; //当前页面的视频总数,可能有多个VideoWebRtc对象
|
|
14388
|
-
//
|
|
14389
|
+
//let userToken = null;
|
|
14389
14390
|
|
|
14390
|
-
|
|
14391
|
-
|
|
14391
|
+
let registered = false;
|
|
14392
|
+
let recordAvBusinessId = null;
|
|
14392
14393
|
|
|
14393
14394
|
function SVideo(opts) {
|
|
14394
14395
|
this.janus = opts.janus;
|
|
@@ -14412,7 +14413,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14412
14413
|
* 初始化
|
|
14413
14414
|
*/
|
|
14414
14415
|
init: function () {
|
|
14415
|
-
|
|
14416
|
+
let self = this;
|
|
14416
14417
|
self.janus.attach({
|
|
14417
14418
|
plugin: self.janusPlugin ? self.janusPlugin : "janus.plugin.videoserver",
|
|
14418
14419
|
opaqueId: "siptest-" + Janus.randomString(12),
|
|
@@ -14444,7 +14445,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14444
14445
|
return false;
|
|
14445
14446
|
}
|
|
14446
14447
|
|
|
14447
|
-
|
|
14448
|
+
let result = msg["result"];
|
|
14448
14449
|
if (!result) return;
|
|
14449
14450
|
|
|
14450
14451
|
if (result.error_code && result.error_code != 0) {
|
|
@@ -14452,7 +14453,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14452
14453
|
if (!STATUS_CODE_ARR.includes(result.error_code + '')) {
|
|
14453
14454
|
//videoListener.dispatch('afterclose', self);
|
|
14454
14455
|
//播放失败 关闭视频
|
|
14455
|
-
|
|
14456
|
+
let video = self.video;
|
|
14456
14457
|
self.close('err');
|
|
14457
14458
|
|
|
14458
14459
|
if (self.isLockVideo) {
|
|
@@ -14471,7 +14472,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14471
14472
|
} //事件响应
|
|
14472
14473
|
|
|
14473
14474
|
|
|
14474
|
-
|
|
14475
|
+
let event = result["event"];
|
|
14475
14476
|
if (!event) return;
|
|
14476
14477
|
|
|
14477
14478
|
switch (event) {
|
|
@@ -14486,7 +14487,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14486
14487
|
videoRecv: true
|
|
14487
14488
|
},
|
|
14488
14489
|
success: function (jsep) {
|
|
14489
|
-
|
|
14490
|
+
let body = {
|
|
14490
14491
|
request: "accept",
|
|
14491
14492
|
videoidentify: result["videoidentify"],
|
|
14492
14493
|
playseq: parseInt(result["playseq"]),
|
|
@@ -14499,7 +14500,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14499
14500
|
},
|
|
14500
14501
|
error: function (error) {
|
|
14501
14502
|
console.error(error);
|
|
14502
|
-
|
|
14503
|
+
let body = {
|
|
14503
14504
|
"request": "decline",
|
|
14504
14505
|
"code": 480
|
|
14505
14506
|
};
|
|
@@ -14555,7 +14556,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14555
14556
|
videoRecv: false
|
|
14556
14557
|
},
|
|
14557
14558
|
success: function (jsep) {
|
|
14558
|
-
|
|
14559
|
+
let body = {
|
|
14559
14560
|
request: "accept",
|
|
14560
14561
|
userToken: self.userToken
|
|
14561
14562
|
};
|
|
@@ -14565,7 +14566,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14565
14566
|
});
|
|
14566
14567
|
},
|
|
14567
14568
|
error: function (error) {
|
|
14568
|
-
console.error(error); //
|
|
14569
|
+
console.error(error); // let body = { "request": "decline", "code": 480 };
|
|
14569
14570
|
// self.sipcall.send({"message": body});
|
|
14570
14571
|
}
|
|
14571
14572
|
});
|
|
@@ -14594,13 +14595,13 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14594
14595
|
onlocalstream: function (stream) {
|
|
14595
14596
|
stream.getAudioTracks()[0].enabled = false;
|
|
14596
14597
|
self.stream = stream; // Janus.attachMediaStream(self.tagBox.get(0), stream);
|
|
14597
|
-
//
|
|
14598
|
+
// let s = stream.getAudioTracks()[0];
|
|
14598
14599
|
// stream.removeTrack(s);
|
|
14599
14600
|
// self.sipcall.webrtcStuff.myStream.addTrack(s);
|
|
14600
14601
|
// self.sipcall.webrtcStuff.myStream.removeTrack(s);
|
|
14601
14602
|
// stream.getTracks().forEach(track => track.stop());
|
|
14602
14603
|
// if (self.isVideoTag) {
|
|
14603
|
-
//
|
|
14604
|
+
// let btnObj = self.tagBox.parent().find("button[name='sendAudio']");
|
|
14604
14605
|
// btnObj.unbind('click');
|
|
14605
14606
|
// //stream.getAudioTracks()[0].enabled = false;
|
|
14606
14607
|
//
|
|
@@ -14644,8 +14645,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14644
14645
|
|
|
14645
14646
|
self.tagBox.parent().find('.recv-audio-btn').attr("class", "unrecv-audio-btn");
|
|
14646
14647
|
self.tagBox.parent().find('.send-audio-btn').attr("class", "unsend-audio-btn");
|
|
14647
|
-
|
|
14648
|
-
|
|
14648
|
+
let width = this.videoWidth;
|
|
14649
|
+
let height = this.videoHeight; //保持长宽比例填充video视频框
|
|
14649
14650
|
|
|
14650
14651
|
if (width <= height && width != '0') {
|
|
14651
14652
|
self.tagBox.css('object-fit', 'contain');
|
|
@@ -14665,7 +14666,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14665
14666
|
return;
|
|
14666
14667
|
}
|
|
14667
14668
|
|
|
14668
|
-
|
|
14669
|
+
let body = {
|
|
14669
14670
|
request: "call",
|
|
14670
14671
|
videoidentify: video,
|
|
14671
14672
|
playseq: this.index,
|
|
@@ -14681,7 +14682,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14681
14682
|
this.packetsLostSum = 0;
|
|
14682
14683
|
this.packetsReceivedSum = 0; //loading
|
|
14683
14684
|
|
|
14684
|
-
|
|
14685
|
+
let _li = this.tagBox.parent();
|
|
14685
14686
|
|
|
14686
14687
|
if (!_li.hasClass("loading")) {
|
|
14687
14688
|
_li.addClass("loading").append('<div class="stream-loading">等待数据流传送...</div>');
|
|
@@ -14695,11 +14696,11 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14695
14696
|
if (!type) {
|
|
14696
14697
|
this.isLockVideo = false;
|
|
14697
14698
|
this.tagBox.parent().find('.lock-video-btn').attr("class", "unlock-video-btn");
|
|
14698
|
-
} //
|
|
14699
|
+
} //let reqType = type ? type : "hangup";
|
|
14699
14700
|
|
|
14700
14701
|
|
|
14701
14702
|
if (!this.playing) return;
|
|
14702
|
-
|
|
14703
|
+
let _hangup = {
|
|
14703
14704
|
request: "hangup",
|
|
14704
14705
|
videoidentify: this.video,
|
|
14705
14706
|
playseq: this.index,
|
|
@@ -14762,8 +14763,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14762
14763
|
return;
|
|
14763
14764
|
}
|
|
14764
14765
|
|
|
14765
|
-
|
|
14766
|
-
|
|
14766
|
+
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';
|
|
14767
|
+
let typeVal = Number(holdType.split(' ').indexOf(type)) + Number(1);
|
|
14767
14768
|
console.log("holdType:" + typeVal + " type:" + type + (isStop ? ' 停止' : ''));
|
|
14768
14769
|
|
|
14769
14770
|
if (!typeVal || typeVal <= 0) {
|
|
@@ -14771,7 +14772,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14771
14772
|
return false;
|
|
14772
14773
|
}
|
|
14773
14774
|
|
|
14774
|
-
|
|
14775
|
+
let body = {
|
|
14775
14776
|
request: "ptz",
|
|
14776
14777
|
videoidentify: this.video,
|
|
14777
14778
|
playseq: this.index,
|
|
@@ -14808,7 +14809,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14808
14809
|
return;
|
|
14809
14810
|
}
|
|
14810
14811
|
|
|
14811
|
-
|
|
14812
|
+
let body = {
|
|
14812
14813
|
request: "av_playback",
|
|
14813
14814
|
videoidentify: video,
|
|
14814
14815
|
playseq: this.index,
|
|
@@ -14827,7 +14828,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14827
14828
|
this.packetsReceivedSum = 0;
|
|
14828
14829
|
this.isPlayBack = true; //loading
|
|
14829
14830
|
|
|
14830
|
-
|
|
14831
|
+
let _li = this.tagBox.parent();
|
|
14831
14832
|
|
|
14832
14833
|
if (!_li.hasClass("loading")) {
|
|
14833
14834
|
_li.addClass("loading").append('<div class="stream-loading">等待数据流传送...</div>');
|
|
@@ -14843,8 +14844,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14843
14844
|
* video设备ID playType类型 playSpeed速率 startTime开始时间
|
|
14844
14845
|
*/
|
|
14845
14846
|
playbackControl: function (video, playType, playSpeed, startTime) {
|
|
14846
|
-
|
|
14847
|
-
|
|
14847
|
+
let self = this;
|
|
14848
|
+
let body = {
|
|
14848
14849
|
request: "av_control",
|
|
14849
14850
|
videoidentify: video,
|
|
14850
14851
|
playseq: self.index,
|
|
@@ -14884,14 +14885,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14884
14885
|
* requstType: recv_audio、stop_audio、send_audio、unsend_audio
|
|
14885
14886
|
*/
|
|
14886
14887
|
operateAudio: function (requestType) {
|
|
14887
|
-
|
|
14888
|
+
let self = this;
|
|
14888
14889
|
|
|
14889
14890
|
if (!self.video) {
|
|
14890
14891
|
promptAlarm('视频ID不能为空');
|
|
14891
14892
|
return;
|
|
14892
14893
|
}
|
|
14893
14894
|
|
|
14894
|
-
|
|
14895
|
+
let body = {
|
|
14895
14896
|
request: requestType,
|
|
14896
14897
|
videoidentify: self.video,
|
|
14897
14898
|
playseq: self.index,
|
|
@@ -14908,14 +14909,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14908
14909
|
* requstType: start_av_record(开启录像)、stop_av_record(停止录像)
|
|
14909
14910
|
*/
|
|
14910
14911
|
recordAv: function (requestType, businessId) {
|
|
14911
|
-
|
|
14912
|
+
let self = this;
|
|
14912
14913
|
|
|
14913
14914
|
if (!self.video) {
|
|
14914
14915
|
promptAlarm('视频ID不能为空');
|
|
14915
14916
|
return;
|
|
14916
14917
|
}
|
|
14917
14918
|
|
|
14918
|
-
|
|
14919
|
+
let body = {
|
|
14919
14920
|
request: requestType,
|
|
14920
14921
|
videoidentify: self.video,
|
|
14921
14922
|
playseq: self.index,
|
|
@@ -14934,14 +14935,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14934
14935
|
* CIF 480P 720P 1080P
|
|
14935
14936
|
*/
|
|
14936
14937
|
changeResolution: function (requestType, resolution) {
|
|
14937
|
-
|
|
14938
|
+
let self = this;
|
|
14938
14939
|
|
|
14939
14940
|
if (!self.video) {
|
|
14940
14941
|
promptAlarm('视频ID不能为空');
|
|
14941
14942
|
return;
|
|
14942
14943
|
}
|
|
14943
14944
|
|
|
14944
|
-
|
|
14945
|
+
let body = {
|
|
14945
14946
|
request: requestType,
|
|
14946
14947
|
videoidentify: self.video,
|
|
14947
14948
|
playseq: self.index,
|
|
@@ -14961,8 +14962,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
|
|
|
14961
14962
|
* centerTel
|
|
14962
14963
|
*/
|
|
14963
14964
|
pocCall: function (requestType, pocNo, centerTel) {
|
|
14964
|
-
|
|
14965
|
-
|
|
14965
|
+
let self = this;
|
|
14966
|
+
let body = {
|
|
14966
14967
|
request: requestType,
|
|
14967
14968
|
pocno: pocNo,
|
|
14968
14969
|
playseq: self.index,
|