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