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