@vtx/player 1.4.9 → 1.4.11

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.
@@ -0,0 +1,89 @@
1
+ export default PlayerManager;
2
+ /**
3
+ *
4
+ */
5
+ declare class PlayerManager {
6
+ constructor(opt: any);
7
+ el: any;
8
+ url: any;
9
+ realPlayer: any;
10
+ recordPlayer: any;
11
+ player: any;
12
+ type: any;
13
+ playNum: number;
14
+ playIndex: number;
15
+ currentChannelId: string;
16
+ recordList: any[];
17
+ isShow: boolean;
18
+ winDom: any;
19
+ picConfig: {
20
+ device: any[];
21
+ channel: any[];
22
+ };
23
+ dp: any;
24
+ initPlayer(): void;
25
+ /**
26
+ * 播放实时预览视频
27
+ * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
28
+ * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
29
+ */
30
+ playRealVideo(): void;
31
+ /**
32
+ * 播放录像回放
33
+ * @param opt.channelList {Array<Object>} 通道集合 必填
34
+ * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
35
+ * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
36
+ * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
37
+ * @param opt.streamType {String|Number} 码流类型 可选
38
+ * @param opt.recordType {String|Number} 录像类型 可选
39
+ */
40
+ playRecordVideo(opt: any): void;
41
+ setVideoFrame(viewSize: any): void;
42
+ stopVideo(index: any): void;
43
+ /**
44
+ * 录像暂停
45
+ * 只有正在播放的录像调用才有效
46
+ */
47
+ pause(): void;
48
+ /**
49
+ * 录像暂停后播放
50
+ * 只有暂停后的录像调用才有效
51
+ */
52
+ play(): void;
53
+ /**
54
+ * 倍速播放
55
+ * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率
56
+ */
57
+ playSpeed(speed: number): void;
58
+ /**
59
+ * 关闭播放器
60
+ * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
61
+ */
62
+ close(index: number): void;
63
+ resize(): void;
64
+ /**
65
+ * 设置全屏
66
+ */
67
+ setFullScreen(): void;
68
+ /**
69
+ * 设置窗口自适应还是拉伸
70
+ * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
71
+ */
72
+ setPlayerAdapter(playerAdapter: string): void;
73
+ /**
74
+ * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
75
+ * @param {number} number
76
+ */
77
+ setPlayerNum(number: number): void;
78
+ /**
79
+ * 设置选中的播放器的索引
80
+ * @param {number} index
81
+ */
82
+ setSelectIndex(index: number): void;
83
+ /**
84
+ * 录像跳转播放
85
+ * @param {number} time HH:mm:ss格式
86
+ */
87
+ jumpPlayByTime(time: number): void;
88
+ __receiveMessageFromWSPlayer(method: any, data: any): void;
89
+ }
@@ -0,0 +1,353 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+
10
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
11
+
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
+
14
+ /**
15
+ *
16
+ */
17
+ var PlayerManager = /*#__PURE__*/function () {
18
+ function PlayerManager(opt) {
19
+ _classCallCheck(this, PlayerManager);
20
+
21
+ // 播放器所在的容器ID
22
+ this.el = opt.el;
23
+ this.url = opt.url; // 实时预览播放器
24
+
25
+ this.realPlayer = null; // 录像回放播放器
26
+
27
+ this.recordPlayer = null;
28
+ this.player = null; // 实时预览还是录像回放播放器
29
+
30
+ this.type = opt.type; // 窗口的数量
31
+
32
+ this.playNum = 1; // 当前选中的窗口的索引
33
+
34
+ this.playIndex = 0; // 当前选中窗口正在播放视频的通道
35
+
36
+ this.currentChannelId = ''; // 索引对应窗口,保存当日录像信息
37
+
38
+ this.recordList = [];
39
+ this.isShow = false; // 视频是否在播放
40
+
41
+ this.winDom = $('#' + opt.el);
42
+ this.winDom.empty();
43
+ this.winDom.css('width', '100%').css('height', '100%').addClass('ttx-video-h5');
44
+ this.picConfig = {
45
+ device: [],
46
+ channel: []
47
+ };
48
+ this.dp = null; // this.initFlash = this.initFlash.bind(this);
49
+ // this.initPlayer();
50
+ // this.playRealVideo();
51
+ } //初始化视频插件
52
+
53
+
54
+ _createClass(PlayerManager, [{
55
+ key: "initPlayer",
56
+ value: function initPlayer() {// if (this.isInitFinished) {
57
+ // return;
58
+ // }
59
+ }
60
+ /**
61
+ * 播放实时预览视频
62
+ * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
63
+ * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
64
+ */
65
+
66
+ }, {
67
+ key: "playRealVideo",
68
+ value: function playRealVideo() {
69
+ //先停止视频播放
70
+ // swfobject.getObjectById(this.el).stopVideo(opt.selectIndex);
71
+ //播放视频
72
+ //type 当实时视频时,传1,监听时,传2,双向对讲时传3 广播功能 4
73
+ var index = this.playIndex;
74
+ var url = this.url;
75
+ var type = this.type;
76
+ var itemId = this.el;
77
+
78
+ if (this.dp) {
79
+ this.dp.ttxplayer.stop();
80
+ this.dp.ttxplayer.setPlayTime(0);
81
+ this.dp.destroy();
82
+ }
83
+
84
+ var bufferTime = 2000;
85
+ var bufferTimeMax = 6000; // bufferTime = bufferTime ? bufferTime : 200;
86
+ // bufferTimeMax = bufferTimeMax ? bufferTimeMax : 2000;
87
+
88
+ var videoOptions = {
89
+ url: url,
90
+ type: 'ttxplayer',
91
+ customType: {
92
+ ttxplayer: function ttxplayer(video, player) {
93
+ player.ttxplayer = new Cmsv6Player(null, itemId, {
94
+ showScreenshot: true,
95
+ lang: 'zh-cn'
96
+ }); // player.ttxplayer.ft.style = "color:blue;position:relative;background-color:black;";
97
+
98
+ player.ttxplayer.liveText = ''; //如果不是直播链接则,live传false
99
+
100
+ var v6isLive = false; // if (url.indexOf('/rtmp/') === -1 && that.options.live) {
101
+ // v6isLive = false;
102
+ // }
103
+
104
+ player.ttxplayer.play(url, {
105
+ isLive: v6isLive,
106
+ hasVideo: true,
107
+ hasAudio: true,
108
+ enableAudio: false,
109
+ minBufferTime: bufferTime,
110
+ maxBufferTime: bufferTimeMax,
111
+ showLastScreen: false
112
+ });
113
+ }
114
+ }
115
+ }; //*** */
116
+
117
+ this.dp = new DPlayer({
118
+ container: document.getElementById(itemId),
119
+ live: false,
120
+ screenshot: true,
121
+ autoplay: true,
122
+ mutex: false,
123
+ loop: false,
124
+ lang: 'zh-cn',
125
+ video: videoOptions
126
+ }); // this.bindDpEvent(dp, type);
127
+
128
+ this.setVideoFrame('full');
129
+ var dp = this.dp; // var bcolor = '000';
130
+
131
+ if (dp && dp.container.id) {
132
+ $('#' + dp.container.id).find('.ttxplayer-controller').css('display', 'none');
133
+ $('#' + dp.container.id).find('.dplayer-controller').css('display', 'none');
134
+ } // $('#' + dp.container.id)
135
+ // .find('.dplayer-controller')
136
+ // .css('background', '#' + bcolor);
137
+
138
+ }
139
+ /**
140
+ * 播放录像回放
141
+ * @param opt.channelList {Array<Object>} 通道集合 必填
142
+ * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
143
+ * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
144
+ * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
145
+ * @param opt.streamType {String|Number} 码流类型 可选
146
+ * @param opt.recordType {String|Number} 录像类型 可选
147
+ */
148
+ // channelList: [{
149
+ // id: channelCode, // {String} 通道编码 -- 用于回放,必填
150
+ // }]
151
+
152
+ }, {
153
+ key: "playRecordVideo",
154
+ value: function playRecordVideo(opt) {
155
+ this.recordPlayer && this.recordPlayer.getRecordList(opt);
156
+ }
157
+ }, {
158
+ key: "setVideoFrame",
159
+ value: function setVideoFrame(viewSize) {
160
+ this.winDom.find('video').each(function (i, obj) {
161
+ var _obj = $(obj);
162
+
163
+ _obj.css('width', '100%').css('height', '100%');
164
+
165
+ var width = _obj.width();
166
+
167
+ var height = _obj.height();
168
+
169
+ if (viewSize === '4:3') {
170
+ if (width / height > 4 / 3) {
171
+ _obj.css('width', height * 4 / 3);
172
+ } else {
173
+ _obj.css('height', width * 3 / 4);
174
+ }
175
+ }
176
+
177
+ if (viewSize === '16:9') {
178
+ if (width / height > 16 / 9) {
179
+ _obj.css('width', height * 16 / 9);
180
+ } else {
181
+ _obj.css('height', width * 9 / 16);
182
+ }
183
+ }
184
+ });
185
+ }
186
+ }, {
187
+ key: "stopVideo",
188
+ value: function stopVideo(index) {
189
+ var that = this;
190
+
191
+ if (index >= this.playNum) {
192
+ return;
193
+ } // this.reSetVideo(index)
194
+ // var video = this.playVideos[index];
195
+ // if (video) {
196
+ // if (that.options.isTtx) {
197
+ // video.ttxplayer.stop();
198
+ // video.ttxplayer.setPlayTime(0);
199
+ // } else {
200
+ // video.pause();
201
+ // video.video.currentTime = 0;
202
+ // }
203
+ // try {
204
+ // var url = video.options.video.url;
205
+ // var devidno = url.split('DevIDNO=')[1].split('&')[0];
206
+ // that.timeMap808[devidno] = new Date().getTime();
207
+ // } catch (e) {}
208
+ // }
209
+
210
+ }
211
+ /**
212
+ * 录像暂停
213
+ * 只有正在播放的录像调用才有效
214
+ */
215
+
216
+ }, {
217
+ key: "pause",
218
+ value: function pause() {
219
+ this.player && this.player.toggleVideo(0);
220
+ }
221
+ /**
222
+ * 录像暂停后播放
223
+ * 只有暂停后的录像调用才有效
224
+ */
225
+
226
+ }, {
227
+ key: "play",
228
+ value: function play() {
229
+ this.player && this.player.toggleVideo(0);
230
+ }
231
+ /**
232
+ * 倍速播放
233
+ * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率
234
+ */
235
+
236
+ }, {
237
+ key: "playSpeed",
238
+ value: function playSpeed(speed) {
239
+ this.recordPlayer && this.recordPlayer.playSpeed(speed);
240
+ }
241
+ /**
242
+ * 关闭播放器
243
+ * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
244
+ */
245
+
246
+ }, {
247
+ key: "close",
248
+ value: function close(index) {
249
+ this.player && this.player.reSetVideo(index);
250
+ }
251
+ }, {
252
+ key: "resize",
253
+ value: function resize() {
254
+ this.player && this.player.setSize();
255
+ }
256
+ /**
257
+ * 设置全屏
258
+ */
259
+
260
+ }, {
261
+ key: "setFullScreen",
262
+ value: function setFullScreen() {
263
+ this.player.fullScreen();
264
+ }
265
+ /**
266
+ * 设置窗口自适应还是拉伸
267
+ * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
268
+ */
269
+
270
+ }, {
271
+ key: "setPlayerAdapter",
272
+ value: function setPlayerAdapter(playerAdapter) {
273
+ this.player.setPlayerAdapter(playerAdapter);
274
+ }
275
+ /**
276
+ * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
277
+ * @param {number} number
278
+ */
279
+
280
+ }, {
281
+ key: "setPlayerNum",
282
+ value: function setPlayerNum(number) {
283
+ this.player.setPlayerNum(number);
284
+ }
285
+ /**
286
+ * 设置选中的播放器的索引
287
+ * @param {number} index
288
+ */
289
+
290
+ }, {
291
+ key: "setSelectIndex",
292
+ value: function setSelectIndex(index) {
293
+ this.player.setSelectIndex(index);
294
+ }
295
+ /**
296
+ * 录像跳转播放
297
+ * @param {number} time HH:mm:ss格式
298
+ */
299
+
300
+ }, {
301
+ key: "jumpPlayByTime",
302
+ value: function jumpPlayByTime(time) {
303
+ this.player.seekVideo(0, time);
304
+ } // ----------------- 播放器事件 ------------------------
305
+
306
+ }, {
307
+ key: "__receiveMessageFromWSPlayer",
308
+ value: function __receiveMessageFromWSPlayer(method, data) {
309
+ switch (method) {
310
+ // ------------- 公共事件 ---------------------
311
+ case 'selectWindowChanged':
312
+ // 选中的窗口发生改变
313
+ this.currentChannelId = data.channelId;
314
+ this.playIndex = data.playIndex;
315
+ break;
316
+
317
+ case 'windowNumChanged':
318
+ // 播放器显示的路数发生改变
319
+ this.playNum = data;
320
+ break;
321
+
322
+ case 'closeVideo':
323
+ // 视频关闭
324
+ // 点击关闭按钮引发的视频关闭进行提示
325
+ // 切换视频引发的视频关闭不进行提示
326
+ if (!data.changeVideoFlag) {
327
+ console.log("\u7A97\u53E3".concat(data.selectIndex, "\u7684\u89C6\u9891\u5DF2\u5173\u95ED"));
328
+ }
329
+
330
+ break;
331
+
332
+ case 'statusChanged':
333
+ // 视频状态发生改变
334
+ break;
335
+
336
+ case 'errorInfo':
337
+ // 错误信息提示
338
+ // data = {
339
+ // errorCode: xxx,
340
+ // errorMsg: "",
341
+ // channelList: [],
342
+ // }
343
+ break;
344
+ }
345
+ }
346
+ }]);
347
+
348
+ return PlayerManager;
349
+ }();
350
+
351
+ var _default = PlayerManager;
352
+ exports["default"] = _default;
353
+ //# sourceMappingURL=PlayerManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerManager.js","names":["PlayerManager","opt","el","url","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","isShow","winDom","$","empty","css","addClass","picConfig","device","channel","dp","index","itemId","ttxplayer","stop","setPlayTime","destroy","bufferTime","bufferTimeMax","videoOptions","customType","video","Cmsv6Player","showScreenshot","lang","liveText","v6isLive","play","isLive","hasVideo","hasAudio","enableAudio","minBufferTime","maxBufferTime","showLastScreen","DPlayer","container","document","getElementById","live","screenshot","autoplay","mutex","loop","setVideoFrame","id","find","getRecordList","viewSize","each","i","obj","_obj","width","height","that","toggleVideo","speed","playSpeed","reSetVideo","setSize","fullScreen","playerAdapter","setPlayerAdapter","number","setPlayerNum","setSelectIndex","time","seekVideo","method","data","channelId","changeVideoFlag","console","log","selectIndex"],"sources":["bd/PlayerManager.js"],"sourcesContent":["/**\n *\n */\nclass PlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n this.url = opt.url;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n this.isShow = false; // 视频是否在播放\n this.winDom = $('#' + opt.el);\n this.winDom.empty();\n this.winDom.css('width', '100%').css('height', '100%').addClass('ttx-video-h5');\n this.picConfig = {\n device: [],\n channel: [],\n };\n this.dp = null;\n // this.initFlash = this.initFlash.bind(this);\n // this.initPlayer();\n // this.playRealVideo();\n }\n //初始化视频插件\n initPlayer() {\n // if (this.isInitFinished) {\n // return;\n // }\n }\n /**\n * 播放实时预览视频\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n playRealVideo() {\n //先停止视频播放\n // swfobject.getObjectById(this.el).stopVideo(opt.selectIndex);\n //播放视频\n //type 当实时视频时,传1,监听时,传2,双向对讲时传3 广播功能 4\n const index = this.playIndex;\n const url = this.url;\n const type = this.type;\n var itemId = this.el;\n if (this.dp) {\n this.dp.ttxplayer.stop();\n this.dp.ttxplayer.setPlayTime(0);\n this.dp.destroy();\n }\n var bufferTime = 2000;\n var bufferTimeMax = 6000;\n // bufferTime = bufferTime ? bufferTime : 200;\n // bufferTimeMax = bufferTimeMax ? bufferTimeMax : 2000;\n const videoOptions = {\n url: url,\n type: 'ttxplayer',\n customType: {\n ttxplayer: function (video, player) {\n player.ttxplayer = new Cmsv6Player(null, itemId, {\n showScreenshot: true,\n lang: 'zh-cn',\n });\n // player.ttxplayer.ft.style = \"color:blue;position:relative;background-color:black;\";\n player.ttxplayer.liveText = '';\n //如果不是直播链接则,live传false\n var v6isLive = false;\n // if (url.indexOf('/rtmp/') === -1 && that.options.live) {\n // v6isLive = false;\n // }\n player.ttxplayer.play(url, {\n isLive: v6isLive,\n hasVideo: true,\n hasAudio: true,\n enableAudio: false,\n minBufferTime: bufferTime,\n maxBufferTime: bufferTimeMax,\n showLastScreen: false,\n });\n },\n },\n };\n //*** */\n this.dp = new DPlayer({\n container: document.getElementById(itemId),\n live: false,\n screenshot: true,\n autoplay: true,\n mutex: false,\n loop: false,\n lang: 'zh-cn',\n video: videoOptions,\n });\n // this.bindDpEvent(dp, type);\n this.setVideoFrame('full');\n const dp = this.dp;\n // var bcolor = '000';\n if (dp && dp.container.id) {\n $('#' + dp.container.id)\n .find('.ttxplayer-controller')\n .css('display', 'none');\n $('#' + dp.container.id)\n .find('.dplayer-controller')\n .css('display', 'none');\n }\n // $('#' + dp.container.id)\n // .find('.dplayer-controller')\n // .css('background', '#' + bcolor);\n }\n /**\n * 播放录像回放\n * @param opt.channelList {Array<Object>} 通道集合 必填\n * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒\n * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒\n * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像\n * @param opt.streamType {String|Number} 码流类型 可选\n * @param opt.recordType {String|Number} 录像类型 可选\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于回放,必填\n // }]\n playRecordVideo(opt) {\n this.recordPlayer && this.recordPlayer.getRecordList(opt);\n }\n setVideoFrame(viewSize) {\n this.winDom.find('video').each(function (i, obj) {\n var _obj = $(obj);\n _obj.css('width', '100%').css('height', '100%');\n var width = _obj.width();\n var height = _obj.height();\n if (viewSize === '4:3') {\n if (width / height > 4 / 3) {\n _obj.css('width', (height * 4) / 3);\n }\n else {\n _obj.css('height', (width * 3) / 4);\n }\n }\n if (viewSize === '16:9') {\n if (width / height > 16 / 9) {\n _obj.css('width', (height * 16) / 9);\n }\n else {\n _obj.css('height', (width * 9) / 16);\n }\n }\n });\n }\n stopVideo(index) {\n var that = this;\n if (index >= this.playNum) {\n return;\n }\n // this.reSetVideo(index)\n // var video = this.playVideos[index];\n // if (video) {\n // if (that.options.isTtx) {\n // video.ttxplayer.stop();\n // video.ttxplayer.setPlayTime(0);\n // } else {\n // video.pause();\n // video.video.currentTime = 0;\n // }\n // try {\n // var url = video.options.video.url;\n // var devidno = url.split('DevIDNO=')[1].split('&')[0];\n // that.timeMap808[devidno] = new Date().getTime();\n // } catch (e) {}\n // }\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.player && this.player.toggleVideo(0);\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.player && this.player.toggleVideo(0);\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n this.player && this.player.reSetVideo(index);\n }\n resize() {\n this.player && this.player.setSize();\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.fullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {number} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n this.player.seekVideo(0, time);\n }\n // ----------------- 播放器事件 ------------------------\n __receiveMessageFromWSPlayer(method, data) {\n switch (method) {\n // ------------- 公共事件 ---------------------\n case 'selectWindowChanged': // 选中的窗口发生改变\n this.currentChannelId = data.channelId;\n this.playIndex = data.playIndex;\n break;\n case 'windowNumChanged': // 播放器显示的路数发生改变\n this.playNum = data;\n break;\n case 'closeVideo': // 视频关闭\n // 点击关闭按钮引发的视频关闭进行提示\n // 切换视频引发的视频关闭不进行提示\n if (!data.changeVideoFlag) {\n console.log(`窗口${data.selectIndex}的视频已关闭`);\n }\n break;\n case 'statusChanged': // 视频状态发生改变\n break;\n case 'errorInfo': // 错误信息提示\n // data = {\n // errorCode: xxx,\n // errorMsg: \"\",\n // channelList: [],\n // }\n break;\n }\n }\n}\nexport default PlayerManager;\n"],"mappings":"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"}
@@ -382,7 +382,8 @@ var HistoryControlV2Panel = /*#__PURE__*/(0, _react.forwardRef)(function (props,
382
382
  onClick: function onClick() {
383
383
  setActiveIndex(item.channelIndex); // icc_ws直接播放
384
384
 
385
- if (item.player === 'icc_ws') {}
385
+ if (item.player === 'icc_ws') {//
386
+ }
386
387
  }
387
388
  }, {
388
389
  children: (0, _jsxRuntime.jsx)(_tooltip["default"], Object.assign({