@vtx/player 1.7.19 → 1.7.21

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.
Files changed (115) hide show
  1. package/lib/api/fetch.js +5 -33
  2. package/lib/api/fetch.js.map +1 -1
  3. package/lib/api/index.js +5 -49
  4. package/lib/api/index.js.map +1 -1
  5. package/lib/api/types.js.map +1 -1
  6. package/lib/bd/PlayerManager.js +34 -67
  7. package/lib/bd/PlayerManager.js.map +1 -1
  8. package/lib/bill-player/index.js +64 -119
  9. package/lib/bill-player/index.js.map +1 -1
  10. package/lib/bill-player/style/css.js +0 -9
  11. package/lib/bill-player/style/css.js.map +1 -1
  12. package/lib/bill-player/style/index.js +0 -9
  13. package/lib/bill-player/style/index.js.map +1 -1
  14. package/lib/components/set-tag-video/index.js +4 -32
  15. package/lib/components/set-tag-video/index.js.map +1 -1
  16. package/lib/components/set-tag-video/style/css.js.map +1 -1
  17. package/lib/components/set-tag-video/style/index.js.map +1 -1
  18. package/lib/components/split-screen/index.js +3 -14
  19. package/lib/components/split-screen/index.js.map +1 -1
  20. package/lib/components/split-screen/style/css.js.map +1 -1
  21. package/lib/components/split-screen/style/index.js.map +1 -1
  22. package/lib/components/tag-video/index.js +10 -38
  23. package/lib/components/tag-video/index.js.map +1 -1
  24. package/lib/components/tag-video/style/css.js.map +1 -1
  25. package/lib/components/tag-video/style/index.js.map +1 -1
  26. package/lib/components/video-scale/index.js +2 -9
  27. package/lib/components/video-scale/index.js.map +1 -1
  28. package/lib/components/video-scale/style/css.js.map +1 -1
  29. package/lib/components/video-scale/style/index.js.map +1 -1
  30. package/lib/context/index.js +0 -4
  31. package/lib/context/index.js.map +1 -1
  32. package/lib/controls/index.js +34 -99
  33. package/lib/controls/index.js.map +1 -1
  34. package/lib/controls/style/css.js +0 -5
  35. package/lib/controls/style/css.js.map +1 -1
  36. package/lib/controls/style/index.js +0 -5
  37. package/lib/controls/style/index.js.map +1 -1
  38. package/lib/h264/PlayerManager.js +14 -26
  39. package/lib/h264/PlayerManager.js.map +1 -1
  40. package/lib/history-control/index.js +63 -122
  41. package/lib/history-control/index.js.map +1 -1
  42. package/lib/history-control/style/css.js +0 -6
  43. package/lib/history-control/style/css.js.map +1 -1
  44. package/lib/history-control/style/index.js +0 -6
  45. package/lib/history-control/style/index.js.map +1 -1
  46. package/lib/history-control-v2/components/grid-item/index.js +36 -75
  47. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  48. package/lib/history-control-v2/components/panel/index.js +47 -117
  49. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  50. package/lib/history-control-v2/context.js +0 -2
  51. package/lib/history-control-v2/context.js.map +1 -1
  52. package/lib/history-control-v2/index.js +46 -113
  53. package/lib/history-control-v2/index.js.map +1 -1
  54. package/lib/history-control-v2/style/css.js +0 -10
  55. package/lib/history-control-v2/style/css.js.map +1 -1
  56. package/lib/history-control-v2/style/index.js +0 -10
  57. package/lib/history-control-v2/style/index.js.map +1 -1
  58. package/lib/history-control-v2/utils.js +0 -20
  59. package/lib/history-control-v2/utils.js.map +1 -1
  60. package/lib/history-player/index.js +51 -109
  61. package/lib/history-player/index.js.map +1 -1
  62. package/lib/history-player/style/css.js +0 -3
  63. package/lib/history-player/style/css.js.map +1 -1
  64. package/lib/history-player/style/index.js +0 -3
  65. package/lib/history-player/style/index.js.map +1 -1
  66. package/lib/hooks/useSettings.js +1 -6
  67. package/lib/hooks/useSettings.js.map +1 -1
  68. package/lib/icc/PlayerManager.js +21 -58
  69. package/lib/icc/PlayerManager.js.map +1 -1
  70. package/lib/icc/api.js +2 -16
  71. package/lib/icc/api.js.map +1 -1
  72. package/lib/icons/index.js +23 -171
  73. package/lib/icons/index.js.map +1 -1
  74. package/lib/index.js +0 -10
  75. package/lib/index.js.map +1 -1
  76. package/lib/live-channel-player/index.js +16 -51
  77. package/lib/live-channel-player/index.js.map +1 -1
  78. package/lib/live-channel-player/style/css.js +0 -1
  79. package/lib/live-channel-player/style/css.js.map +1 -1
  80. package/lib/live-channel-player/style/index.js +0 -1
  81. package/lib/live-channel-player/style/index.js.map +1 -1
  82. package/lib/live-control/index.js +33 -84
  83. package/lib/live-control/index.js.map +1 -1
  84. package/lib/live-control/style/css.js +0 -4
  85. package/lib/live-control/style/css.js.map +1 -1
  86. package/lib/live-control/style/index.js +0 -4
  87. package/lib/live-control/style/index.js.map +1 -1
  88. package/lib/live-control-v2/index.js +68 -154
  89. package/lib/live-control-v2/index.js.map +1 -1
  90. package/lib/live-control-v2/style/css.js +0 -7
  91. package/lib/live-control-v2/style/css.js.map +1 -1
  92. package/lib/live-control-v2/style/index.js +0 -7
  93. package/lib/live-control-v2/style/index.js.map +1 -1
  94. package/lib/live-player/index.js +45 -85
  95. package/lib/live-player/index.js.map +1 -1
  96. package/lib/live-player/style/css.js +0 -2
  97. package/lib/live-player/style/css.js.map +1 -1
  98. package/lib/live-player/style/index.js +0 -2
  99. package/lib/live-player/style/index.js.map +1 -1
  100. package/lib/player/index.js +38 -206
  101. package/lib/player/index.js.map +1 -1
  102. package/lib/player/style/css.js.map +1 -1
  103. package/lib/player/style/index.js.map +1 -1
  104. package/lib/rsl/PlayerManager.js +14 -63
  105. package/lib/rsl/PlayerManager.js.map +1 -1
  106. package/lib/utils/index.d.ts +0 -7
  107. package/lib/utils/index.js +12 -112
  108. package/lib/utils/index.js.map +1 -1
  109. package/lib/vtxHls/PlayerManager.js +2 -19
  110. package/lib/vtxHls/PlayerManager.js.map +1 -1
  111. package/lib/vtxHls/WhepManager.js +4 -70
  112. package/lib/vtxHls/WhepManager.js.map +1 -1
  113. package/lib/webrtc/PlayerManager.js +24 -40
  114. package/lib/webrtc/PlayerManager.js.map +1 -1
  115. package/package.json +3 -2
@@ -4,40 +4,34 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
-
8
7
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
-
10
8
  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
9
  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
10
  /**
15
11
  *
16
12
  */
17
13
  var PlayerManager = /*#__PURE__*/function () {
18
14
  function PlayerManager(opt) {
19
15
  _classCallCheck(this, PlayerManager);
20
-
21
16
  // 播放器所在的容器ID
22
17
  this.el = opt.el;
23
- this.url = opt.url; // 实时预览播放器
24
-
25
- this.realPlayer = null; // 录像回放播放器
26
-
18
+ this.url = opt.url;
19
+ // 实时预览播放器
20
+ this.realPlayer = null;
21
+ // 录像回放播放器
27
22
  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
-
23
+ this.player = null;
24
+ // 实时预览还是录像回放播放器
25
+ this.type = opt.type;
26
+ // 窗口的数量
27
+ this.playNum = 1;
28
+ // 当前选中的窗口的索引
29
+ this.playIndex = 0;
30
+ // 当前选中窗口正在播放视频的通道
31
+ this.currentChannelId = '';
32
+ // 索引对应窗口,保存当日录像信息
38
33
  this.recordList = [];
39
34
  this.isShow = false; // 视频是否在播放
40
-
41
35
  this.winDom = $('#' + opt.el);
42
36
  this.winDom.empty();
43
37
  this.winDom.css('width', '100%').css('height', '100%').addClass('ttx-video-h5');
@@ -52,8 +46,6 @@ var PlayerManager = /*#__PURE__*/function () {
52
46
  * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
53
47
  * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
54
48
  */
55
-
56
-
57
49
  _createClass(PlayerManager, [{
58
50
  key: "playRealVideo",
59
51
  value: function playRealVideo() {
@@ -62,17 +54,15 @@ var PlayerManager = /*#__PURE__*/function () {
62
54
  var url = this.url;
63
55
  var type = this.type;
64
56
  var itemId = this.el;
65
-
66
57
  if (this.dp) {
67
58
  this.dp.ttxplayer.stop();
68
59
  this.dp.ttxplayer.setPlayTime(0);
69
60
  this.dp.destroy();
70
61
  }
71
-
72
62
  var bufferTime = 2000;
73
- var bufferTimeMax = 6000; // bufferTime = bufferTime ? bufferTime : 200;
63
+ var bufferTimeMax = 6000;
64
+ // bufferTime = bufferTime ? bufferTime : 200;
74
65
  // bufferTimeMax = bufferTimeMax ? bufferTimeMax : 2000;
75
-
76
66
  var videoOptions = {
77
67
  url: url,
78
68
  type: 'ttxplayer',
@@ -82,14 +72,14 @@ var PlayerManager = /*#__PURE__*/function () {
82
72
  showScreenshot: true,
83
73
  lang: 'zh-cn',
84
74
  hiddenController: true
85
- }); // player.ttxplayer.ft.style = "color:blue;position:relative;background-color:black;";
86
-
87
- player.ttxplayer.liveText = ''; //如果不是直播链接则,live传false
88
-
89
- var v6isLive = false; // if (url.indexOf('/rtmp/') === -1 && that.options.live) {
75
+ });
76
+ // player.ttxplayer.ft.style = "color:blue;position:relative;background-color:black;";
77
+ player.ttxplayer.liveText = '';
78
+ //如果不是直播链接则,live传false
79
+ var v6isLive = false;
80
+ // if (url.indexOf('/rtmp/') === -1 && that.options.live) {
90
81
  // v6isLive = false;
91
82
  // }
92
-
93
83
  player.ttxplayer.play(url, {
94
84
  isLive: v6isLive,
95
85
  hasVideo: true,
@@ -101,8 +91,8 @@ var PlayerManager = /*#__PURE__*/function () {
101
91
  });
102
92
  }
103
93
  }
104
- }; //*** */
105
-
94
+ };
95
+ //*** */
106
96
  this.dp = new DPlayer({
107
97
  container: document.getElementById(itemId),
108
98
  live: false,
@@ -112,35 +102,32 @@ var PlayerManager = /*#__PURE__*/function () {
112
102
  loop: false,
113
103
  lang: 'zh-cn',
114
104
  video: videoOptions
115
- }); // this.bindDpEvent(dp, type);
116
-
105
+ });
106
+ // this.bindDpEvent(dp, type);
117
107
  this.setVideoFrame('full');
118
- var dp = this.dp; // var bcolor = '000';
119
-
108
+ var dp = this.dp;
109
+ // var bcolor = '000';
120
110
  if (dp && dp.container.id) {
121
111
  $('#' + dp.container.id).find('.ttxplayer-controller').css('display', 'none');
122
112
  $('#' + dp.container.id).find('.dplayer-controller').css('display', 'none');
123
- } // $('#' + dp.container.id)
113
+ }
114
+ // $('#' + dp.container.id)
124
115
  // .find('.dplayer-controller')
125
116
  // .css('background', '#' + bcolor);
126
-
127
117
  }
128
118
  }, {
129
119
  key: "playRecordVideo",
130
- value: function playRecordVideo(opt) {//
120
+ value: function playRecordVideo(opt) {
121
+ //
131
122
  }
132
123
  }, {
133
124
  key: "setVideoFrame",
134
125
  value: function setVideoFrame(viewSize) {
135
126
  this.winDom.find('video').each(function (i, obj) {
136
127
  var _obj = $(obj);
137
-
138
128
  _obj.css('width', '100%').css('height', '100%');
139
-
140
129
  var width = _obj.width();
141
-
142
130
  var height = _obj.height();
143
-
144
131
  if (viewSize === '4:3') {
145
132
  if (width / height > 4 / 3) {
146
133
  _obj.css('width', height * 4 / 3);
@@ -148,7 +135,6 @@ var PlayerManager = /*#__PURE__*/function () {
148
135
  _obj.css('height', width * 3 / 4);
149
136
  }
150
137
  }
151
-
152
138
  if (viewSize === '16:9') {
153
139
  if (width / height > 16 / 9) {
154
140
  _obj.css('width', height * 16 / 9);
@@ -162,7 +148,6 @@ var PlayerManager = /*#__PURE__*/function () {
162
148
  key: "stopVideo",
163
149
  value: function stopVideo(index) {
164
150
  var that = this;
165
-
166
151
  if (index >= this.playNum) {
167
152
  return;
168
153
  }
@@ -171,7 +156,6 @@ var PlayerManager = /*#__PURE__*/function () {
171
156
  * 录像暂停
172
157
  * 只有正在播放的录像调用才有效
173
158
  */
174
-
175
159
  }, {
176
160
  key: "pause",
177
161
  value: function pause() {
@@ -182,7 +166,6 @@ var PlayerManager = /*#__PURE__*/function () {
182
166
  * 录像暂停后播放
183
167
  * 只有暂停后的录像调用才有效
184
168
  */
185
-
186
169
  }, {
187
170
  key: "play",
188
171
  value: function play() {
@@ -193,7 +176,6 @@ var PlayerManager = /*#__PURE__*/function () {
193
176
  * 倍速播放
194
177
  * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率
195
178
  */
196
-
197
179
  }, {
198
180
  key: "playSpeed",
199
181
  value: function playSpeed(speed) {
@@ -203,14 +185,11 @@ var PlayerManager = /*#__PURE__*/function () {
203
185
  * 关闭播放器
204
186
  * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
205
187
  */
206
-
207
188
  }, {
208
189
  key: "close",
209
190
  value: function close(index) {
210
191
  var _a, _b;
211
-
212
192
  this.player && this.player.reSetVideo(index);
213
-
214
193
  if (this.dp) {
215
194
  (_a = this.dp.ttxplayer) === null || _a === void 0 ? void 0 : _a.destroy();
216
195
  (_b = this.dp) === null || _b === void 0 ? void 0 : _b.destroy();
@@ -225,7 +204,6 @@ var PlayerManager = /*#__PURE__*/function () {
225
204
  /**
226
205
  * 设置全屏
227
206
  */
228
-
229
207
  }, {
230
208
  key: "setFullScreen",
231
209
  value: function setFullScreen() {
@@ -235,7 +213,6 @@ var PlayerManager = /*#__PURE__*/function () {
235
213
  * 设置窗口自适应还是拉伸
236
214
  * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
237
215
  */
238
-
239
216
  }, {
240
217
  key: "setPlayerAdapter",
241
218
  value: function setPlayerAdapter(playerAdapter) {
@@ -245,7 +222,6 @@ var PlayerManager = /*#__PURE__*/function () {
245
222
  * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
246
223
  * @param {number} number
247
224
  */
248
-
249
225
  }, {
250
226
  key: "setPlayerNum",
251
227
  value: function setPlayerNum(number) {
@@ -255,7 +231,6 @@ var PlayerManager = /*#__PURE__*/function () {
255
231
  * 设置选中的播放器的索引
256
232
  * @param {number} index
257
233
  */
258
-
259
234
  }, {
260
235
  key: "setSelectIndex",
261
236
  value: function setSelectIndex(index) {
@@ -265,13 +240,12 @@ var PlayerManager = /*#__PURE__*/function () {
265
240
  * 录像跳转播放
266
241
  * @param {number} time HH:mm:ss格式
267
242
  */
268
-
269
243
  }, {
270
244
  key: "jumpPlayByTime",
271
245
  value: function jumpPlayByTime(time) {
272
246
  this.player.seekVideo(0, time);
273
- } // ----------------- 播放器事件 ------------------------
274
-
247
+ }
248
+ // ----------------- 播放器事件 ------------------------
275
249
  }, {
276
250
  key: "__receiveMessageFromWSPlayer",
277
251
  value: function __receiveMessageFromWSPlayer(method, data) {
@@ -282,12 +256,10 @@ var PlayerManager = /*#__PURE__*/function () {
282
256
  this.currentChannelId = data.channelId;
283
257
  this.playIndex = data.playIndex;
284
258
  break;
285
-
286
259
  case 'windowNumChanged':
287
260
  // 播放器显示的路数发生改变
288
261
  this.playNum = data;
289
262
  break;
290
-
291
263
  case 'closeVideo':
292
264
  // 视频关闭
293
265
  // 点击关闭按钮引发的视频关闭进行提示
@@ -295,13 +267,10 @@ var PlayerManager = /*#__PURE__*/function () {
295
267
  if (!data.changeVideoFlag) {
296
268
  console.log("\u7A97\u53E3".concat(data.selectIndex, "\u7684\u89C6\u9891\u5DF2\u5173\u95ED"));
297
269
  }
298
-
299
270
  break;
300
-
301
271
  case 'statusChanged':
302
272
  // 视频状态发生改变
303
273
  break;
304
-
305
274
  case 'errorInfo':
306
275
  // 错误信息提示
307
276
  // data = {
@@ -313,10 +282,8 @@ var PlayerManager = /*#__PURE__*/function () {
313
282
  }
314
283
  }
315
284
  }]);
316
-
317
285
  return PlayerManager;
318
286
  }();
319
-
320
287
  var _default = PlayerManager;
321
288
  exports["default"] = _default;
322
289
  //# sourceMappingURL=PlayerManager.js.map
@@ -1 +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","hiddenController","liveText","v6isLive","play","isLive","hasVideo","hasAudio","enableAudio","minBufferTime","maxBufferTime","showLastScreen","DPlayer","container","document","getElementById","live","screenshot","autoplay","mutex","loop","setVideoFrame","id","find","viewSize","each","i","obj","_obj","width","height","that","pause","toggle","resume","speed","playSpeed","_a","_b","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 }\n /**\n * 播放实时预览视频\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n playRealVideo() {\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 hiddenController: true,\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 playRecordVideo(opt) {\n //\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 }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.dp && this.dp.pause();\n this.dp && this.dp.ttxplayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.dp && this.dp.toggle();\n this.dp && this.dp.ttxplayer.resume();\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 var _a, _b;\n this.player && this.player.reSetVideo(index);\n if (this.dp) {\n (_a = this.dp.ttxplayer) === null || _a === void 0 ? void 0 : _a.destroy();\n (_b = this.dp) === null || _b === void 0 ? void 0 : _b.destroy();\n this.dp = null;\n }\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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"}
1
+ {"version":3,"file":"PlayerManager.js","names":["PlayerManager","opt","_classCallCheck","el","url","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","isShow","winDom","$","empty","css","addClass","picConfig","device","channel","dp","_createClass","key","value","playRealVideo","index","itemId","ttxplayer","stop","setPlayTime","destroy","bufferTime","bufferTimeMax","videoOptions","customType","video","Cmsv6Player","showScreenshot","lang","hiddenController","liveText","v6isLive","play","isLive","hasVideo","hasAudio","enableAudio","minBufferTime","maxBufferTime","showLastScreen","DPlayer","container","document","getElementById","live","screenshot","autoplay","mutex","loop","setVideoFrame","id","find","playRecordVideo","viewSize","each","i","obj","_obj","width","height","stopVideo","that","pause","toggle","resume","playSpeed","speed","close","_a","_b","reSetVideo","resize","setSize","setFullScreen","fullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","jumpPlayByTime","time","seekVideo","__receiveMessageFromWSPlayer","method","data","channelId","changeVideoFlag","console","log","concat","selectIndex","_default","exports"],"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 }\n /**\n * 播放实时预览视频\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.selectIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n playRealVideo() {\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 hiddenController: true,\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 playRecordVideo(opt) {\n //\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 }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.dp && this.dp.pause();\n this.dp && this.dp.ttxplayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.dp && this.dp.toggle();\n this.dp && this.dp.ttxplayer.resume();\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 var _a, _b;\n this.player && this.player.reSetVideo(index);\n if (this.dp) {\n (_a = this.dp.ttxplayer) === null || _a === void 0 ? void 0 : _a.destroy();\n (_b = this.dp) === null || _b === void 0 ? void 0 : _b.destroy();\n this.dp = null;\n }\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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","ignoreList":[]}