@vtx/player 1.9.9 → 1.10.1

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 (86) hide show
  1. package/lib/api/index.d.ts +2 -0
  2. package/lib/api/index.js +7 -1
  3. package/lib/api/index.js.map +1 -1
  4. package/lib/api/types.d.ts +5 -0
  5. package/lib/bd/PlayerManager.d.ts +1 -0
  6. package/lib/bd/PlayerManager.js +13 -0
  7. package/lib/bd/PlayerManager.js.map +1 -1
  8. package/lib/bill-player/index.js +5 -3
  9. package/lib/bill-player/index.js.map +1 -1
  10. package/lib/controls/index.d.ts +3 -4
  11. package/lib/controls/index.js +6 -5
  12. package/lib/controls/index.js.map +1 -1
  13. package/lib/history-control-v2/components/grid-item/index.js +29 -1
  14. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  15. package/lib/history-control-v2/components/panel/index.js +47 -13
  16. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  17. package/lib/history-control-v2/interface.d.ts +2 -0
  18. package/lib/history-control-v2/utils.d.ts +1 -0
  19. package/lib/history-control-v2/utils.js +18 -4
  20. package/lib/history-control-v2/utils.js.map +1 -1
  21. package/lib/history-player/index.d.ts +4 -2
  22. package/lib/history-player/index.js +147 -45
  23. package/lib/history-player/index.js.map +1 -1
  24. package/lib/index.d.ts +0 -1
  25. package/lib/index.js +0 -7
  26. package/lib/index.js.map +1 -1
  27. package/lib/live-channel-player/index.js +3 -3
  28. package/lib/live-channel-player/index.js.map +1 -1
  29. package/lib/live-player/index.d.ts +1 -2
  30. package/lib/live-player/index.js +62 -6
  31. package/lib/live-player/index.js.map +1 -1
  32. package/lib/player/BdPlayer.d.ts +110 -0
  33. package/lib/player/BdPlayer.js +242 -0
  34. package/lib/player/BdPlayer.js.map +1 -0
  35. package/lib/player/FlvPlayer.d.ts +112 -0
  36. package/lib/player/FlvPlayer.js +210 -0
  37. package/lib/player/FlvPlayer.js.map +1 -0
  38. package/lib/player/H264Player.d.ts +109 -0
  39. package/lib/player/H264Player.js +218 -0
  40. package/lib/player/H264Player.js.map +1 -0
  41. package/lib/player/HkcarwsPlayer.d.ts +124 -0
  42. package/lib/player/HkcarwsPlayer.js +390 -0
  43. package/lib/player/HkcarwsPlayer.js.map +1 -0
  44. package/lib/player/HkwsPlayer.d.ts +124 -0
  45. package/lib/player/HkwsPlayer.js +376 -0
  46. package/lib/player/HkwsPlayer.js.map +1 -0
  47. package/lib/player/HlsPlayer.d.ts +115 -0
  48. package/lib/player/HlsPlayer.js +212 -0
  49. package/lib/player/HlsPlayer.js.map +1 -0
  50. package/lib/player/IccwsPlayer.d.ts +113 -0
  51. package/lib/player/IccwsPlayer.js +249 -0
  52. package/lib/player/IccwsPlayer.js.map +1 -0
  53. package/lib/player/IframePlayer.d.ts +60 -0
  54. package/lib/player/IframePlayer.js +45 -0
  55. package/lib/player/IframePlayer.js.map +1 -0
  56. package/lib/player/Mp4Player.d.ts +110 -0
  57. package/lib/player/Mp4Player.js +215 -0
  58. package/lib/player/Mp4Player.js.map +1 -0
  59. package/lib/player/RslPlayer.d.ts +112 -0
  60. package/lib/player/RslPlayer.js +230 -0
  61. package/lib/player/RslPlayer.js.map +1 -0
  62. package/lib/player/VtxHlsPlayer.d.ts +116 -0
  63. package/lib/player/VtxHlsPlayer.js +222 -0
  64. package/lib/player/VtxHlsPlayer.js.map +1 -0
  65. package/lib/player/VtxwhepPlayer.d.ts +110 -0
  66. package/lib/player/VtxwhepPlayer.js +223 -0
  67. package/lib/player/VtxwhepPlayer.js.map +1 -0
  68. package/lib/player/VtxwsPlayer.d.ts +114 -0
  69. package/lib/player/VtxwsPlayer.js +264 -0
  70. package/lib/player/VtxwsPlayer.js.map +1 -0
  71. package/lib/player/WebrtcPlayer.d.ts +109 -0
  72. package/lib/player/WebrtcPlayer.js +219 -0
  73. package/lib/player/WebrtcPlayer.js.map +1 -0
  74. package/lib/player/WfsPlayer.d.ts +109 -0
  75. package/lib/player/WfsPlayer.js +219 -0
  76. package/lib/player/WfsPlayer.js.map +1 -0
  77. package/lib/player/index.d.ts +16 -125
  78. package/lib/player/index.js +103 -836
  79. package/lib/player/index.js.map +1 -1
  80. package/lib/player/indexOld.d.ts +127 -0
  81. package/lib/player/indexOld.js +871 -0
  82. package/lib/player/indexOld.js.map +1 -0
  83. package/lib/utils/index.d.ts +7 -2
  84. package/lib/utils/index.js +24 -1
  85. package/lib/utils/index.js.map +1 -1
  86. package/package.json +1 -1
@@ -0,0 +1,390 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _config = _interopRequireDefault(require("../config"));
8
+ var _utils = require("../utils");
9
+ var _moment = _interopRequireDefault(require("moment"));
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
11
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
13
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { if (r) i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n;else { var o = function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); }; o("next", 0), o("throw", 1), o("return", 2); } }, _regeneratorDefine2(e, r, n, t); }
14
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
15
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
16
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
20
+ function adopt(value) {
21
+ return value instanceof P ? value : new P(function (resolve) {
22
+ resolve(value);
23
+ });
24
+ }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) {
27
+ try {
28
+ step(generator.next(value));
29
+ } catch (e) {
30
+ reject(e);
31
+ }
32
+ }
33
+ function rejected(value) {
34
+ try {
35
+ step(generator["throw"](value));
36
+ } catch (e) {
37
+ reject(e);
38
+ }
39
+ }
40
+ function step(result) {
41
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
42
+ }
43
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
44
+ });
45
+ };
46
+ /**
47
+ * 视频播放核心类
48
+ */
49
+ var Player = /*#__PURE__*/function () {
50
+ function Player(params) {
51
+ _classCallCheck(this, Player);
52
+ this.player = null;
53
+ /** 之前的视频播放速度,用于处理海康音量控制 */
54
+ this.preSpeed = 1;
55
+ this.containerId = '';
56
+ // 海康窗口下标
57
+ this.windowIndex = 0;
58
+ /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */
59
+ var url = params.url,
60
+ originalUrl = params.originalUrl,
61
+ channelNum = params.channelNum,
62
+ deviceCode = params.deviceCode,
63
+ _params$enableAgent = params.enableAgent,
64
+ enableAgent = _params$enableAgent === void 0 ? false : _params$enableAgent,
65
+ container = params.container,
66
+ _params$live = params.live,
67
+ live = _params$live === void 0 ? true : _params$live,
68
+ type = params.type,
69
+ startTime = params.startTime,
70
+ endTime = params.endTime,
71
+ streamType = params.streamType,
72
+ reload = params.reload,
73
+ onClose = params.onClose;
74
+ this.reload = reload;
75
+ this.onClose = onClose;
76
+ this.containerId = container.id;
77
+ var playerParams = (0, _utils.getPlayerParams)(type, url, enableAgent, live);
78
+ this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type
79
+ this.url = playerParams.url;
80
+ this.originalUrl = originalUrl;
81
+ this.channelNum = channelNum;
82
+ this.deviceCode = deviceCode || '';
83
+ this.streamType = streamType || '0'; // 默认主码流
84
+ this.enableAgent = enableAgent;
85
+ this.startTime = startTime;
86
+ this.endTime = endTime;
87
+ var video = document.createElement('video'); // 生成video元素
88
+ video.className = 'vtx-player-video';
89
+ video.muted = true; //设置静音
90
+ this.video = video;
91
+ // 处理海康视频
92
+ if (url.startsWith('ws://') || url.startsWith('wss://')) {
93
+ var wrapDiv = document.getElementById(container.id);
94
+ this.player = new window.JSPluginHkCar({
95
+ szId: container.id,
96
+ iWidth: wrapDiv.clientWidth,
97
+ iHeight: wrapDiv.clientHeight,
98
+ iMaxSplit: 1,
99
+ iCurrentSplit: 1,
100
+ szBasePath: "".concat(_config["default"].visPlugin, "/hkcar/"),
101
+ oStyle: {
102
+ border: 'transparent',
103
+ borderSelect: 'transparent',
104
+ background: '#2b3d51'
105
+ }
106
+ });
107
+ }
108
+ }
109
+ /** 播放 */
110
+ return _createClass(Player, [{
111
+ key: "play",
112
+ value: function play() {
113
+ var player = this.player;
114
+ var result = player.JS_Play(this.url, {
115
+ playURL: this.url,
116
+ mode: 1
117
+ }, 0);
118
+ this.windowIndex = 0;
119
+ var reload = this.reload;
120
+ player.JS_SetWindowControlCallback({
121
+ pluginErrorHandler: function pluginErrorHandler(index, iErrorCode) {
122
+ //插件错误回调
123
+ // 流中断
124
+ if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {
125
+ reload && reload();
126
+ }
127
+ }
128
+ });
129
+ return result;
130
+ }
131
+ /** 回放 */
132
+ }, {
133
+ key: "playBack",
134
+ value: function playBack() {
135
+ var player = this.player;
136
+ var result = player.JS_Play(this.url, {
137
+ playURL: this.url,
138
+ mode: 1
139
+ }, 0, (0, _utils.getHKTimeString)(this.startTime), (0, _utils.getHKTimeString)(this.endTime));
140
+ this.seekTime = (0, _moment["default"])(this.startTime);
141
+ this.windowIndex = 0;
142
+ var reload = this.reload;
143
+ player.JS_SetWindowControlCallback({
144
+ pluginErrorHandler: function pluginErrorHandler(index, iErrorCode) {
145
+ //插件错误回调
146
+ // 流中断
147
+ if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {
148
+ reload && reload();
149
+ }
150
+ }
151
+ });
152
+ return result;
153
+ }
154
+ /** 销毁 */
155
+ }, {
156
+ key: "destroy",
157
+ value: function destroy() {
158
+ var _this = this;
159
+ if (!this.player) return;
160
+ var player = this.player;
161
+ player && player.JS_Stop(0).then(function () {
162
+ _this.player = null;
163
+ });
164
+ var dd = document.getElementById(this.containerId);
165
+ dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);
166
+ if (this.type === 'hkcar_ws') {
167
+ var _player = this.player;
168
+ _player.JS_DestroyWorker();
169
+ var _dd = document.getElementById(this.containerId);
170
+ (_dd === null || _dd === void 0 ? void 0 : _dd.childNodes) && _dd.childNodes[0] && _dd.removeChild(_dd.childNodes[0]);
171
+ }
172
+ }
173
+ /** 截图 */
174
+ }, {
175
+ key: "capture",
176
+ value: function capture() {
177
+ var captureName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '视频截图';
178
+ var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
179
+ var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
180
+ var name = captureName;
181
+ if (time) name += "-".concat((0, _moment["default"])().format('YYYYMMDDHHmmss'));
182
+ var player = this.player;
183
+ if (player) player.JS_CapturePicture(1, name, 'JPEG', function (res) {
184
+ callback && callback(res);
185
+ });else {
186
+ (0, _utils.Capture)(this.video, name, callback);
187
+ }
188
+ }
189
+ /** 尺寸重置 */
190
+ }, {
191
+ key: "resize",
192
+ value: function resize() {
193
+ var player = this.player;
194
+ setTimeout(function () {
195
+ player.JS_Resize();
196
+ }, 500);
197
+ }
198
+ /**
199
+ * 设置音量
200
+ * @param value
201
+ */
202
+ }, {
203
+ key: "setVolume",
204
+ value: function setVolume(value) {
205
+ var player = this.player;
206
+ if (value < 1) {
207
+ player.JS_CloseSound(this.windowIndex);
208
+ } else {
209
+ player.JS_OpenSound(this.windowIndex).then(function () {
210
+ console.info('JS_OpenSound success');
211
+ }, function (err) {
212
+ console.log(err);
213
+ });
214
+ player.JS_SetVolume(this.windowIndex, value);
215
+ }
216
+ }
217
+ /**
218
+ * 设置播放速度
219
+ * @param speed
220
+ */
221
+ }, {
222
+ key: "setSpeed",
223
+ value: function setSpeed(speed) {
224
+ var player = this.player;
225
+ if (this.preSpeed / speed === 2) {
226
+ player.JS_Slow(1);
227
+ }
228
+ if (this.preSpeed / speed === 4) {
229
+ player.JS_Slow(1).then(function () {
230
+ return player.JS_Slow(1);
231
+ });
232
+ }
233
+ if (this.preSpeed / speed === 8) {
234
+ player.JS_Slow(1).then(function () {
235
+ return player.JS_Slow(1);
236
+ }).then(function () {
237
+ return player.JS_Slow(1);
238
+ });
239
+ }
240
+ if (this.preSpeed / speed === 16) {
241
+ player.JS_Slow(1).then(function () {
242
+ return player.JS_Slow(1);
243
+ }).then(function () {
244
+ return player.JS_Slow(1);
245
+ }).then(function () {
246
+ return player.JS_Slow(1);
247
+ });
248
+ }
249
+ if (speed / this.preSpeed === 2) {
250
+ player.JS_Fast(1);
251
+ }
252
+ if (speed / this.preSpeed === 4) {
253
+ player.JS_Fast(1).then(function () {
254
+ return player.JS_Fast(1);
255
+ });
256
+ }
257
+ if (speed / this.preSpeed === 8) {
258
+ player.JS_Fast(1).then(function () {
259
+ return player.JS_Fast(1);
260
+ }).then(function () {
261
+ return player.JS_Fast(1);
262
+ });
263
+ }
264
+ if (speed / this.preSpeed === 16) {
265
+ player.JS_Fast(1).then(function () {
266
+ return player.JS_Fast(1);
267
+ }).then(function () {
268
+ return player.JS_Fast(1);
269
+ }).then(function () {
270
+ return player.JS_Fast(1);
271
+ });
272
+ }
273
+ this.preSpeed = speed;
274
+ }
275
+ /**
276
+ * 时间更新事件
277
+ * @param callback 回调函数
278
+ */
279
+ }, {
280
+ key: "onTimeUpdate",
281
+ value: function onTimeUpdate(callback) {
282
+ var _this2 = this;
283
+ var _a;
284
+ this.video.addEventListener('timeupdate', function () {
285
+ var currentTime = _this2.video.currentTime;
286
+ if ((_this2.type === 'hk_ws' || _this2.type === 'hkcar_ws') && _this2.seekTime) {
287
+ currentTime = currentTime + _this2.seekTime.diff(_this2.startTime, 'seconds');
288
+ }
289
+ callback(currentTime, _this2.type === 'hk_ws' || _this2.type === 'hkcar_ws' ? _this2.preSpeed : _this2.video.playbackRate);
290
+ });
291
+ // 增加hw_ws 流播放结束回调
292
+ var player = this.player;
293
+ (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {
294
+ StreamEnd: function StreamEnd() {
295
+ callback((0, _moment["default"])(_this2.endTime).diff(_this2.startTime, 'seconds'), _this2.preSpeed);
296
+ }
297
+ });
298
+ }
299
+ /** 跳转到 */
300
+ }, {
301
+ key: "seekTo",
302
+ value: function seekTo(time) {
303
+ var _a;
304
+ return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
305
+ var player, seekTime;
306
+ return _regenerator().w(function (_context) {
307
+ while (1) switch (_context.n) {
308
+ case 0:
309
+ player = this.player;
310
+ seekTime = (_a = (0, _moment["default"])(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');
311
+ this.seekTime = seekTime;
312
+ _context.n = 1;
313
+ return player.JS_Seek(1, (0, _utils.getHKTimeString)(seekTime), (0, _utils.getHKTimeString)(this.endTime));
314
+ case 1:
315
+ return _context.a(2, Promise.resolve());
316
+ }
317
+ }, _callee, this);
318
+ }));
319
+ }
320
+ /**
321
+ * 暂停播放
322
+ * @param callback 回调函数
323
+ */
324
+ }, {
325
+ key: "pause",
326
+ value: function pause(callback) {
327
+ var player = this.player;
328
+ player.JS_Pause(0).then(function () {
329
+ return callback && callback();
330
+ });
331
+ callback && callback();
332
+ }
333
+ /**
334
+ * 恢复播放
335
+ * @param callback 回调函数
336
+ */
337
+ }, {
338
+ key: "resume",
339
+ value: function resume(callback) {
340
+ var tp = this.type;
341
+ var player = null;
342
+ switch (tp) {
343
+ case 'hkcar_ws':
344
+ case 'hk_ws':
345
+ player = this.player;
346
+ player.JS_Resume(0).then(function () {
347
+ return callback && callback();
348
+ });
349
+ break;
350
+ default:
351
+ this.video.play();
352
+ callback && callback();
353
+ break;
354
+ }
355
+ }
356
+ /**
357
+ * 开始对讲
358
+ * @param url 对讲地址
359
+ */
360
+ }, {
361
+ key: "startTalk",
362
+ value: function startTalk(url) {
363
+ var player = this.player;
364
+ return player.JS_StartTalk(url).then(function () {
365
+ console.log('talkStart success');
366
+ Promise.resolve();
367
+ }, function (e) {
368
+ console.error(e);
369
+ });
370
+ }
371
+ /**
372
+ * 开始对讲
373
+ * @param state 状态
374
+ */
375
+ }, {
376
+ key: "stopTalk",
377
+ value: function stopTalk() {
378
+ var player = this.player;
379
+ return player.JS_StopTalk().then(function () {
380
+ console.info('JS_StopTalk success');
381
+ // do you want...
382
+ }, function (err) {
383
+ console.info('JS_StopTalk failed');
384
+ // do you want...
385
+ });
386
+ }
387
+ }]);
388
+ }();
389
+ var _default = exports["default"] = Player;
390
+ //# sourceMappingURL=HkcarwsPlayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HkcarwsPlayer.js","names":["_config","_interopRequireDefault","require","_utils","_moment","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_regenerator","t","r","n","toStringTag","i","c","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","then","apply","Player","params","player","preSpeed","containerId","windowIndex","url","originalUrl","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","live","type","startTime","endTime","streamType","reload","onClose","id","playerParams","getPlayerParams","video","document","createElement","className","muted","startsWith","wrapDiv","getElementById","window","JSPluginHkCar","szId","iWidth","clientWidth","iHeight","clientHeight","iMaxSplit","iCurrentSplit","szBasePath","concat","CONFIG","visPlugin","oStyle","border","borderSelect","background","play","JS_Play","playURL","mode","JS_SetWindowControlCallback","pluginErrorHandler","index","iErrorCode","playBack","getHKTimeString","seekTime","moment","destroy","_this","JS_Stop","dd","childNodes","removeChild","JS_DestroyWorker","capture","captureName","arguments","undefined","callback","time","name","format","JS_CapturePicture","res","Capture","resize","setTimeout","JS_Resize","setVolume","JS_CloseSound","JS_OpenSound","console","info","err","log","JS_SetVolume","setSpeed","speed","JS_Slow","JS_Fast","onTimeUpdate","_this2","_a","addEventListener","currentTime","diff","playbackRate","StreamEnd","seekTo","_callee","_context","add","JS_Seek","pause","JS_Pause","resume","tp","JS_Resume","startTalk","JS_StartTalk","error","stopTalk","JS_StopTalk","_default","exports"],"sources":["player/HkcarwsPlayer.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport CONFIG from '../config';\nimport { Capture, getHKTimeString, getPlayerParams } from '../utils';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, originalUrl, channelNum, deviceCode, enableAgent = false, container, live = true, type, startTime, endTime, streamType, reload, onClose, } = params;\n this.reload = reload;\n this.onClose = onClose;\n this.containerId = container.id;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.originalUrl = originalUrl;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n // 处理海康视频\n if (url.startsWith('ws://') || url.startsWith('wss://')) {\n const wrapDiv = document.getElementById(container.id);\n this.player = new window.JSPluginHkCar({\n szId: container.id,\n iWidth: wrapDiv.clientWidth,\n iHeight: wrapDiv.clientHeight,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n szBasePath: `${CONFIG.visPlugin}/hkcar/`,\n oStyle: {\n border: 'transparent',\n borderSelect: 'transparent',\n background: '#2b3d51',\n },\n });\n }\n }\n /** 播放 */\n play() {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0);\n this.windowIndex = 0;\n const reload = this.reload;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {\n reload && reload();\n }\n },\n });\n return result;\n }\n /** 回放 */\n playBack() {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n this.seekTime = moment(this.startTime);\n this.windowIndex = 0;\n const reload = this.reload;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {\n reload && reload();\n }\n },\n });\n return result;\n }\n /** 销毁 */\n destroy() {\n if (!this.player)\n return;\n const player = this.player;\n player &&\n player.JS_Stop(0).then(() => {\n this.player = null;\n });\n const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n if (this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_DestroyWorker();\n const dd = document.getElementById(this.containerId);\n (dd === null || dd === void 0 ? void 0 : dd.childNodes) && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n const player = this.player;\n if (value < 1) {\n player.JS_CloseSound(this.windowIndex);\n }\n else {\n player.JS_OpenSound(this.windowIndex).then(() => {\n console.info('JS_OpenSound success');\n }, (err) => {\n console.log(err);\n });\n player.JS_SetVolume(this.windowIndex, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if ((this.type === 'hk_ws' || this.type === 'hkcar_ws') && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' || this.type === 'hkcar_ws'\n ? this.preSpeed\n : this.video.playbackRate);\n });\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n },\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n this.seekTime = seekTime;\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n const player = this.player;\n player.JS_Pause(0).then(() => callback && callback());\n callback && callback();\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n const tp = this.type;\n let player = null;\n switch (tp) {\n case 'hkcar_ws':\n case 'hk_ws':\n player = this.player;\n player.JS_Resume(0).then(() => callback && callback());\n break;\n default:\n this.video.play();\n callback && callback();\n break;\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n const player = this.player;\n return player.JS_StartTalk(url).then(() => {\n console.log('talkStart success');\n Promise.resolve();\n }, (e) => {\n console.error(e);\n });\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n const player = this.player;\n return player.JS_StopTalk().then(() => {\n console.info('JS_StopTalk success');\n // do you want...\n }, (err) => {\n console.info('JS_StopTalk failed');\n // do you want...\n });\n }\n}\nexport default Player;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,124 @@
1
+ import moment from 'moment';
2
+ declare global {
3
+ interface Window {
4
+ JSPlugin: any;
5
+ }
6
+ }
7
+ /** 视频流格式 */
8
+ export type VideoType = 'hk_ws' | 'hkcar_ws' | string;
9
+ interface ConstructorParams {
10
+ url?: string;
11
+ originalUrl?: string;
12
+ /** 设备id */
13
+ deviceId?: string;
14
+ /** 服务器地址 */
15
+ deviceIp?: string;
16
+ /** 服务器端口 */
17
+ devicePort?: string;
18
+ /** 服务器用户名 */
19
+ userName?: string;
20
+ /** 服务器密码 */
21
+ password?: string;
22
+ /** 主/子码流 */
23
+ streamType?: '0' | '1';
24
+ /** 通道号 */
25
+ channelNum?: string;
26
+ /** 设备Code */
27
+ deviceCode?: string;
28
+ /**是否开启代理 */
29
+ enableAgent?: boolean;
30
+ /** 渲染容器 */
31
+ container?: HTMLDivElement;
32
+ /** 是否直播,flv.js需要 */
33
+ live?: boolean;
34
+ /** 视频流格式 */
35
+ type?: VideoType;
36
+ /** 开始时间,历史回放需要 */
37
+ startTime?: moment.MomentInput;
38
+ /** 结束时间,历史回放需要 */
39
+ endTime?: moment.MomentInput;
40
+ reload?: () => void;
41
+ onClose?: () => void;
42
+ }
43
+ /**
44
+ * 视频播放核心类
45
+ */
46
+ declare class Player {
47
+ /** 视频地址 */
48
+ url: string;
49
+ originalUrl: string;
50
+ /** 通道号 */
51
+ channelNum: string;
52
+ /** 设备Code */
53
+ deviceCode: string;
54
+ /** 主/子码流 */
55
+ streamType: '0' | '1';
56
+ /** 视频流格式 */
57
+ type: VideoType;
58
+ /** 是否使用代理播放 */
59
+ enableAgent: boolean;
60
+ /** 海康视频断流重新加载 */
61
+ reload: () => void;
62
+ onClose: () => void;
63
+ private player;
64
+ private video;
65
+ /** 开始时间,历史回放需要 */
66
+ private startTime?;
67
+ /** 结束时间,历史回放需要 */
68
+ private endTime?;
69
+ /** 跳转时间,用于处理进度条位置 */
70
+ private seekTime?;
71
+ /** 之前的视频播放速度,用于处理海康音量控制 */
72
+ private preSpeed;
73
+ private containerId;
74
+ private windowIndex;
75
+ constructor(params: ConstructorParams);
76
+ /** 播放 */
77
+ play(): Promise<void>;
78
+ /** 回放 */
79
+ playBack(): Promise<void>;
80
+ /** 销毁 */
81
+ destroy(): void;
82
+ /** 截图 */
83
+ capture(captureName?: string, callback?: any, time?: boolean): void;
84
+ /** 尺寸重置 */
85
+ resize(): void;
86
+ /**
87
+ * 设置音量
88
+ * @param value
89
+ */
90
+ setVolume(value: number): void;
91
+ /**
92
+ * 设置播放速度
93
+ * @param speed
94
+ */
95
+ setSpeed(speed: 0.5 | 1 | 2 | 4 | 8): void;
96
+ /**
97
+ * 时间更新事件
98
+ * @param callback 回调函数
99
+ */
100
+ onTimeUpdate(callback: (currentTime: number, speed: number) => void): void;
101
+ /** 跳转到 */
102
+ seekTo(time: number): Promise<void>;
103
+ /**
104
+ * 暂停播放
105
+ * @param callback 回调函数
106
+ */
107
+ pause(callback?: () => void): void;
108
+ /**
109
+ * 恢复播放
110
+ * @param callback 回调函数
111
+ */
112
+ resume(callback?: () => void): void;
113
+ /**
114
+ * 开始对讲
115
+ * @param url 对讲地址
116
+ */
117
+ startTalk(url: string): Promise<void>;
118
+ /**
119
+ * 开始对讲
120
+ * @param state 状态
121
+ */
122
+ stopTalk(): Promise<void>;
123
+ }
124
+ export default Player;