@vtx/player 1.11.0 → 1.12.2

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 (176) hide show
  1. package/lib/api/fetch.js +68 -71
  2. package/lib/api/fetch.js.map +1 -1
  3. package/lib/api/index.js +33 -51
  4. package/lib/api/index.js.map +1 -1
  5. package/lib/api/types.d.ts +16 -7
  6. package/lib/api/types.js +0 -1
  7. package/lib/api/types.js.map +1 -1
  8. package/lib/bd/PlayerManager.js +8 -7
  9. package/lib/bd/PlayerManager.js.map +1 -1
  10. package/lib/bd2.x/PlayerManager.d.ts +71 -0
  11. package/lib/bd2.x/PlayerManager.js +228 -0
  12. package/lib/bd2.x/PlayerManager.js.map +1 -0
  13. package/lib/bd2.x/swfobject-all.d.ts +11 -0
  14. package/lib/bd2.x/swfobject-all.js +158 -0
  15. package/lib/bd2.x/swfobject-all.js.map +1 -0
  16. package/lib/bd2.x/swfobject.d.ts +40 -0
  17. package/lib/bd2.x/swfobject.js +722 -0
  18. package/lib/bd2.x/swfobject.js.map +1 -0
  19. package/lib/bill-player/index.d.ts +1 -1
  20. package/lib/bill-player/index.js +9 -11
  21. package/lib/bill-player/index.js.map +1 -1
  22. package/lib/components/download-tag/index.js +7 -8
  23. package/lib/components/download-tag/index.js.map +1 -1
  24. package/lib/components/set-tag-video/index.js +7 -8
  25. package/lib/components/set-tag-video/index.js.map +1 -1
  26. package/lib/components/split-screen/index.d.ts +1 -1
  27. package/lib/components/split-screen/index.js +3 -5
  28. package/lib/components/split-screen/index.js.map +1 -1
  29. package/lib/components/tag-video/index.js +10 -11
  30. package/lib/components/tag-video/index.js.map +1 -1
  31. package/lib/components/video-scale/index.d.ts +1 -1
  32. package/lib/components/video-scale/index.js +2 -3
  33. package/lib/components/video-scale/index.js.map +1 -1
  34. package/lib/config.d.ts +1 -1
  35. package/lib/config.js +1 -2
  36. package/lib/config.js.map +1 -1
  37. package/lib/context/index.js +3 -5
  38. package/lib/context/index.js.map +1 -1
  39. package/lib/controls/index.d.ts +13 -12
  40. package/lib/controls/index.js +32 -35
  41. package/lib/controls/index.js.map +1 -1
  42. package/lib/h264/PlayerManager.js +8 -7
  43. package/lib/h264/PlayerManager.js.map +1 -1
  44. package/lib/history-control/index.d.ts +2 -2
  45. package/lib/history-control/index.js +8 -10
  46. package/lib/history-control/index.js.map +1 -1
  47. package/lib/history-control-v2/components/grid-item/index.js +33 -13
  48. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  49. package/lib/history-control-v2/components/panel/VideoTable.d.ts +4 -2
  50. package/lib/history-control-v2/components/panel/VideoTable.js +265 -59
  51. package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
  52. package/lib/history-control-v2/components/panel/index.d.ts +1 -0
  53. package/lib/history-control-v2/components/panel/index.js +40 -19
  54. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  55. package/lib/history-control-v2/context.js +1 -2
  56. package/lib/history-control-v2/context.js.map +1 -1
  57. package/lib/history-control-v2/index.d.ts +4 -4
  58. package/lib/history-control-v2/index.js +77 -77
  59. package/lib/history-control-v2/index.js.map +1 -1
  60. package/lib/history-control-v2/interface.d.ts +20 -11
  61. package/lib/history-control-v2/utils.d.ts +1 -1
  62. package/lib/history-control-v2/utils.js +51 -27
  63. package/lib/history-control-v2/utils.js.map +1 -1
  64. package/lib/history-player/index.d.ts +20 -1
  65. package/lib/history-player/index.js +235 -184
  66. package/lib/history-player/index.js.map +1 -1
  67. package/lib/hooks/useSettings.js +1 -2
  68. package/lib/hooks/useSettings.js.map +1 -1
  69. package/lib/hooks/useTranslation.d.ts +1 -1
  70. package/lib/hooks/useTranslation.js +6 -6
  71. package/lib/hooks/useTranslation.js.map +1 -1
  72. package/lib/icc/PlayerManager.js +9 -8
  73. package/lib/icc/PlayerManager.js.map +1 -1
  74. package/lib/icc/api.d.ts +1 -68
  75. package/lib/icc/api.js +7 -3
  76. package/lib/icc/api.js.map +1 -1
  77. package/lib/icons/index.d.ts +73 -73
  78. package/lib/icons/index.js +112 -141
  79. package/lib/icons/index.js.map +1 -1
  80. package/lib/index.js +1 -1
  81. package/lib/index.js.map +1 -1
  82. package/lib/live-channel-player/index.d.ts +1 -1
  83. package/lib/live-channel-player/index.js +39 -32
  84. package/lib/live-channel-player/index.js.map +1 -1
  85. package/lib/live-control/index.d.ts +4 -2
  86. package/lib/live-control/index.js +21 -13
  87. package/lib/live-control/index.js.map +1 -1
  88. package/lib/live-control-v2/index.d.ts +5 -3
  89. package/lib/live-control-v2/index.js +22 -22
  90. package/lib/live-control-v2/index.js.map +1 -1
  91. package/lib/live-player/index.d.ts +1 -0
  92. package/lib/live-player/index.js +166 -139
  93. package/lib/live-player/index.js.map +1 -1
  94. package/lib/locales/en.json +93 -93
  95. package/lib/locales/index.d.ts +3 -3
  96. package/lib/locales/index.js +15 -24
  97. package/lib/locales/index.js.map +1 -1
  98. package/lib/locales/zh-CN.json +93 -93
  99. package/lib/mpegts/PlayerManager.js +14 -8
  100. package/lib/mpegts/PlayerManager.js.map +1 -1
  101. package/lib/player/BdPlayer.d.ts +8 -2
  102. package/lib/player/BdPlayer.js +138 -47
  103. package/lib/player/BdPlayer.js.map +1 -1
  104. package/lib/player/BdPlayer2.d.ts +118 -0
  105. package/lib/player/BdPlayer2.js +341 -0
  106. package/lib/player/BdPlayer2.js.map +1 -0
  107. package/lib/player/FlvPlayer.d.ts +3 -1
  108. package/lib/player/FlvPlayer.js +17 -20
  109. package/lib/player/FlvPlayer.js.map +1 -1
  110. package/lib/player/H264Player.d.ts +3 -1
  111. package/lib/player/H264Player.js +17 -20
  112. package/lib/player/H264Player.js.map +1 -1
  113. package/lib/player/HkcarwsPlayer.d.ts +11 -1
  114. package/lib/player/HkcarwsPlayer.js +149 -36
  115. package/lib/player/HkcarwsPlayer.js.map +1 -1
  116. package/lib/player/HkwsPlayer.d.ts +21 -1
  117. package/lib/player/HkwsPlayer.js +184 -92
  118. package/lib/player/HkwsPlayer.js.map +1 -1
  119. package/lib/player/HlsPlayer.d.ts +3 -1
  120. package/lib/player/HlsPlayer.js +17 -20
  121. package/lib/player/HlsPlayer.js.map +1 -1
  122. package/lib/player/IccwsPlayer.d.ts +3 -1
  123. package/lib/player/IccwsPlayer.js +19 -22
  124. package/lib/player/IccwsPlayer.js.map +1 -1
  125. package/lib/player/IframePlayer.d.ts +3 -1
  126. package/lib/player/IframePlayer.js +8 -7
  127. package/lib/player/IframePlayer.js.map +1 -1
  128. package/lib/player/Mp4Player.d.ts +3 -1
  129. package/lib/player/Mp4Player.js +17 -20
  130. package/lib/player/Mp4Player.js.map +1 -1
  131. package/lib/player/RslPlayer.d.ts +3 -1
  132. package/lib/player/RslPlayer.js +17 -20
  133. package/lib/player/RslPlayer.js.map +1 -1
  134. package/lib/player/VtxHlsPlayer.d.ts +3 -1
  135. package/lib/player/VtxHlsPlayer.js +17 -20
  136. package/lib/player/VtxHlsPlayer.js.map +1 -1
  137. package/lib/player/VtxwhepPlayer.d.ts +3 -1
  138. package/lib/player/VtxwhepPlayer.js +17 -20
  139. package/lib/player/VtxwhepPlayer.js.map +1 -1
  140. package/lib/player/VtxwsPlayer.d.ts +3 -1
  141. package/lib/player/VtxwsPlayer.js +16 -19
  142. package/lib/player/VtxwsPlayer.js.map +1 -1
  143. package/lib/player/Web34Player.d.ts +173 -0
  144. package/lib/player/Web34Player.js +1912 -0
  145. package/lib/player/Web34Player.js.map +1 -0
  146. package/lib/player/WebrtcPlayer.d.ts +3 -1
  147. package/lib/player/WebrtcPlayer.js +17 -20
  148. package/lib/player/WebrtcPlayer.js.map +1 -1
  149. package/lib/player/WfsPlayer.d.ts +3 -1
  150. package/lib/player/WfsPlayer.js +17 -20
  151. package/lib/player/WfsPlayer.js.map +1 -1
  152. package/lib/player/YsyPlayer.d.ts +117 -0
  153. package/lib/player/YsyPlayer.js +273 -0
  154. package/lib/player/YsyPlayer.js.map +1 -0
  155. package/lib/player/index.d.ts +4 -1
  156. package/lib/player/index.js +22 -1
  157. package/lib/player/index.js.map +1 -1
  158. package/lib/player/indexOld.d.ts +3 -1
  159. package/lib/player/indexOld.js +98 -101
  160. package/lib/player/indexOld.js.map +1 -1
  161. package/lib/rsl/PlayerManager.d.ts +1 -1
  162. package/lib/rsl/PlayerManager.js +8 -7
  163. package/lib/rsl/PlayerManager.js.map +1 -1
  164. package/lib/typings/h5player.d.ts +33 -1
  165. package/lib/utils/index.d.ts +1 -1
  166. package/lib/utils/index.js +16 -27
  167. package/lib/utils/index.js.map +1 -1
  168. package/lib/vtxHls/PlayerManager.js +8 -7
  169. package/lib/vtxHls/PlayerManager.js.map +1 -1
  170. package/lib/vtxHls/WhepManager.js +11 -10
  171. package/lib/vtxHls/WhepManager.js.map +1 -1
  172. package/lib/webrtc/PlayerManager.js +8 -7
  173. package/lib/webrtc/PlayerManager.js.map +1 -1
  174. package/lib/wfs/PlayerManager.js +8 -7
  175. package/lib/wfs/PlayerManager.js.map +1 -1
  176. package/package.json +5 -1
@@ -5,7 +5,13 @@ declare global {
5
5
  }
6
6
  }
7
7
  /** 视频流格式 */
8
- export declare type VideoType = 'hk_ws' | 'hkcar_ws' | string;
8
+ export type VideoType = 'hk_ws' | 'hkcar_ws' | string;
9
+ export interface DownloadOptions {
10
+ startTime?: moment.MomentInput;
11
+ endTime?: moment.MomentInput;
12
+ fileName?: string;
13
+ fileType?: 'mp4' | 'ps';
14
+ }
9
15
  interface ConstructorParams {
10
16
  url?: string;
11
17
  originalUrl?: string;
@@ -23,6 +29,7 @@ interface ConstructorParams {
23
29
  streamType?: '0' | '1';
24
30
  /** 通道号 */
25
31
  channelNum?: string;
32
+ channelId?: string;
26
33
  /** 设备Code */
27
34
  deviceCode?: string;
28
35
  /**是否开启代理 */
@@ -33,6 +40,7 @@ interface ConstructorParams {
33
40
  live?: boolean;
34
41
  /** 视频流格式 */
35
42
  type?: VideoType;
43
+ hkType?: string | '' | undefined;
36
44
  /** 开始时间,历史回放需要 */
37
45
  startTime?: moment.MomentInput;
38
46
  /** 结束时间,历史回放需要 */
@@ -55,6 +63,7 @@ declare class Player {
55
63
  streamType: '0' | '1';
56
64
  /** 视频流格式 */
57
65
  type: VideoType;
66
+ hkType?: string | '' | undefined;
58
67
  /** 是否使用代理播放 */
59
68
  enableAgent: boolean;
60
69
  /** 海康视频断流重新加载 */
@@ -71,6 +80,10 @@ declare class Player {
71
80
  /** 之前的视频播放速度,用于处理海康音量控制 */
72
81
  private preSpeed;
73
82
  private containerId;
83
+ private timeUpdateTimer?;
84
+ private timeUpdateCallback?;
85
+ private downloadTimer?;
86
+ private downloadSaving;
74
87
  private windowIndex;
75
88
  constructor(params: ConstructorParams);
76
89
  /** 播放 */
@@ -83,6 +96,13 @@ declare class Player {
83
96
  capture(captureName?: string, callback?: any, time?: boolean): void;
84
97
  /** 尺寸重置 */
85
98
  resize(): void;
99
+ private isHkWs;
100
+ private getVideoCurrentTime;
101
+ private getCurrentSpeed;
102
+ private parseOSDTime;
103
+ private stopTimeUpdateTimer;
104
+ private clearDownloadTimer;
105
+ private startHKTimeUpdate;
86
106
  /**
87
107
  * 设置音量
88
108
  * @param value
@@ -4,14 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports["default"] = void 0;
7
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
8
7
  var _config = _interopRequireDefault(require("../config"));
9
8
  var _utils = require("../utils");
10
9
  var _moment = _interopRequireDefault(require("moment"));
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
13
- 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); } }
14
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (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); }
15
19
  var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
16
20
  function adopt(value) {
17
21
  return value instanceof P ? value : new P(function (resolve) {
@@ -49,6 +53,7 @@ var Player = /*#__PURE__*/function () {
49
53
  /** 之前的视频播放速度,用于处理海康音量控制 */
50
54
  this.preSpeed = 1;
51
55
  this.containerId = '';
56
+ this.downloadSaving = false;
52
57
  // 海康窗口下标
53
58
  this.windowIndex = 0;
54
59
  /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */
@@ -61,6 +66,7 @@ var Player = /*#__PURE__*/function () {
61
66
  container = params.container,
62
67
  _params$live = params.live,
63
68
  live = _params$live === void 0 ? true : _params$live,
69
+ hkType = params.hkType,
64
70
  type = params.type,
65
71
  startTime = params.startTime,
66
72
  endTime = params.endTime,
@@ -74,6 +80,7 @@ var Player = /*#__PURE__*/function () {
74
80
  this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type
75
81
  this.url = playerParams.url;
76
82
  this.originalUrl = originalUrl;
83
+ this.hkType = hkType;
77
84
  this.channelNum = channelNum;
78
85
  this.deviceCode = deviceCode || '';
79
86
  this.streamType = streamType || '0'; // 默认主码流
@@ -95,14 +102,16 @@ var Player = /*#__PURE__*/function () {
95
102
  this.video.preload = 'auto';
96
103
  }
97
104
  /** 播放 */
98
- _createClass(Player, [{
105
+ return _createClass(Player, [{
99
106
  key: "play",
100
107
  value: function play() {
101
108
  var player = this.player;
102
109
  var result = player.JS_Play(this.url, {
103
110
  playURL: this.url,
104
- mode: 1
105
- }, 0);
111
+ mode: this.hkType === 'NLZZ' ? 0 : 1
112
+ },
113
+ // 南乐中州
114
+ 0);
106
115
  this.windowIndex = 0;
107
116
  var reload = this.reload;
108
117
  player.JS_SetWindowControlCallback({
@@ -110,6 +119,7 @@ var Player = /*#__PURE__*/function () {
110
119
  //插件错误回调
111
120
  // 流中断
112
121
  if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {
122
+ console.log('流中断,电脑配置过低,程序卡主线程都可能导致流中断,执行reload');
113
123
  reload && reload();
114
124
  }
115
125
  }
@@ -144,8 +154,15 @@ var Player = /*#__PURE__*/function () {
144
154
  key: "destroy",
145
155
  value: function destroy() {
146
156
  var _this = this;
157
+ var _a;
147
158
  if (!this.player) return;
159
+ this.stopTimeUpdateTimer();
160
+ this.clearDownloadTimer();
148
161
  var player = this.player;
162
+ if (this.downloadSaving) {
163
+ (_a = player.JS_StopSave) === null || _a === void 0 ? void 0 : _a.call(player, this.windowIndex);
164
+ this.downloadSaving = false;
165
+ }
149
166
  player && player.JS_Stop(0).then(function () {
150
167
  _this.player = null;
151
168
  });
@@ -177,6 +194,118 @@ var Player = /*#__PURE__*/function () {
177
194
  player.JS_Resize();
178
195
  }, 500);
179
196
  }
197
+ }, {
198
+ key: "isHkWs",
199
+ value: function isHkWs() {
200
+ return this.type === 'hk_ws' || this.type === 'hkcar_ws';
201
+ }
202
+ }, {
203
+ key: "getVideoCurrentTime",
204
+ value: function getVideoCurrentTime() {
205
+ var currentTime = this.video.currentTime;
206
+ if (this.isHkWs() && this.seekTime) {
207
+ currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');
208
+ }
209
+ return currentTime;
210
+ }
211
+ }, {
212
+ key: "getCurrentSpeed",
213
+ value: function getCurrentSpeed() {
214
+ return this.isHkWs() ? this.preSpeed : this.video.playbackRate;
215
+ }
216
+ }, {
217
+ key: "parseOSDTime",
218
+ value: function parseOSDTime(osdTime) {
219
+ if (!osdTime) return null;
220
+ if (typeof osdTime === 'number') {
221
+ var _time = osdTime > 10000000000 ? (0, _moment["default"])(osdTime) : _moment["default"].unix(osdTime);
222
+ return _time.isValid() ? _time : null;
223
+ }
224
+ if (typeof osdTime === 'string') {
225
+ var _time2 = (0, _moment["default"])(osdTime);
226
+ return _time2.isValid() ? _time2 : null;
227
+ }
228
+ var nestedTime = osdTime.osdTime || osdTime.OSDTime || osdTime.currOSDTime || osdTime.data;
229
+ if (nestedTime) return this.parseOSDTime(nestedTime);
230
+ var timestamp = osdTime.timestamp || osdTime.timeStamp;
231
+ if (timestamp) return this.parseOSDTime(timestamp);
232
+ var year = Number(osdTime.year);
233
+ var month = Number(osdTime.month);
234
+ var day = Number(osdTime.day);
235
+ var hour = Number(osdTime.hour);
236
+ var minute = Number(osdTime.minute);
237
+ var second = Number(osdTime.second);
238
+ var millisecond = Number(osdTime.milliseconds || 0);
239
+ if ([year, month, day, hour, minute, second].some(function (item) {
240
+ return Number.isNaN(item);
241
+ })) {
242
+ return null;
243
+ }
244
+ var time = (0, _moment["default"])({
245
+ year: year,
246
+ month: month - 1,
247
+ date: day,
248
+ hour: hour,
249
+ minute: minute,
250
+ second: second,
251
+ millisecond: millisecond
252
+ });
253
+ return time.isValid() ? time : null;
254
+ }
255
+ }, {
256
+ key: "stopTimeUpdateTimer",
257
+ value: function stopTimeUpdateTimer() {
258
+ if (this.timeUpdateTimer) {
259
+ window.clearInterval(this.timeUpdateTimer);
260
+ this.timeUpdateTimer = undefined;
261
+ }
262
+ }
263
+ }, {
264
+ key: "clearDownloadTimer",
265
+ value: function clearDownloadTimer() {
266
+ if (this.downloadTimer) {
267
+ window.clearTimeout(this.downloadTimer);
268
+ this.downloadTimer = undefined;
269
+ }
270
+ }
271
+ }, {
272
+ key: "startHKTimeUpdate",
273
+ value: function startHKTimeUpdate(callback) {
274
+ var _this2 = this;
275
+ var emitImmediately = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
276
+ var player = this.player;
277
+ this.stopTimeUpdateTimer();
278
+ this.timeUpdateCallback = callback;
279
+ var emit = function emit() {
280
+ return __awaiter(_this2, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
281
+ var _a, osdTime, currentTime, _t;
282
+ return _regenerator().w(function (_context) {
283
+ while (1) switch (_context.p = _context.n) {
284
+ case 0:
285
+ _context.p = 0;
286
+ _context.n = 1;
287
+ return player.JS_GetOSDTime(this.windowIndex);
288
+ case 1:
289
+ osdTime = _context.v;
290
+ currentTime = (_a = this.parseOSDTime(osdTime)) === null || _a === void 0 ? void 0 : _a.diff(this.startTime, 'seconds');
291
+ callback(typeof currentTime === 'number' && currentTime >= 0 ? currentTime : this.getVideoCurrentTime(), this.getCurrentSpeed());
292
+ _context.n = 3;
293
+ break;
294
+ case 2:
295
+ _context.p = 2;
296
+ _t = _context.v;
297
+ callback(this.getVideoCurrentTime(), this.getCurrentSpeed());
298
+ case 3:
299
+ return _context.a(2);
300
+ }
301
+ }, _callee, this, [[0, 2]]);
302
+ }));
303
+ };
304
+ if (emitImmediately) {
305
+ emit();
306
+ }
307
+ this.timeUpdateTimer = window.setInterval(emit, 500);
308
+ }
180
309
  /**
181
310
  * 设置音量
182
311
  * @param value
@@ -204,54 +333,13 @@ var Player = /*#__PURE__*/function () {
204
333
  key: "setSpeed",
205
334
  value: function setSpeed(speed) {
206
335
  var player = this.player;
207
- if (this.preSpeed / speed === 2) {
208
- player.JS_Slow(1);
209
- }
210
- if (this.preSpeed / speed === 4) {
211
- player.JS_Slow(1).then(function () {
212
- return player.JS_Slow(1);
213
- });
214
- }
215
- if (this.preSpeed / speed === 8) {
216
- player.JS_Slow(1).then(function () {
217
- return player.JS_Slow(1);
218
- }).then(function () {
219
- return player.JS_Slow(1);
220
- });
221
- }
222
- if (this.preSpeed / speed === 16) {
223
- player.JS_Slow(1).then(function () {
224
- return player.JS_Slow(1);
225
- }).then(function () {
226
- return player.JS_Slow(1);
227
- }).then(function () {
228
- return player.JS_Slow(1);
229
- });
230
- }
231
- if (speed / this.preSpeed === 2) {
232
- player.JS_Fast(1);
233
- }
234
- if (speed / this.preSpeed === 4) {
235
- player.JS_Fast(1).then(function () {
236
- return player.JS_Fast(1);
237
- });
238
- }
239
- if (speed / this.preSpeed === 8) {
240
- player.JS_Fast(1).then(function () {
241
- return player.JS_Fast(1);
242
- }).then(function () {
243
- return player.JS_Fast(1);
244
- });
245
- }
246
- if (speed / this.preSpeed === 16) {
247
- player.JS_Fast(1).then(function () {
248
- return player.JS_Fast(1);
249
- }).then(function () {
250
- return player.JS_Fast(1);
251
- }).then(function () {
252
- return player.JS_Fast(1);
253
- });
254
- }
336
+ player.JS_Speed(this.windowIndex, speed === 0.5 ? -2 : speed).then(function (rate) {
337
+ console.info('JS_Speed success:', rate);
338
+ // do you want...
339
+ }, function (err) {
340
+ console.info('JS_Speed failed');
341
+ // do you want...
342
+ });
255
343
  this.preSpeed = speed;
256
344
  }
257
345
  /**
@@ -261,47 +349,53 @@ var Player = /*#__PURE__*/function () {
261
349
  }, {
262
350
  key: "onTimeUpdate",
263
351
  value: function onTimeUpdate(callback) {
264
- var _this2 = this;
352
+ var _this3 = this;
265
353
  var _a;
266
- this.video.addEventListener('timeupdate', function () {
267
- var currentTime = _this2.video.currentTime;
268
- if ((_this2.type === 'hk_ws' || _this2.type === 'hkcar_ws') && _this2.seekTime) {
269
- currentTime = currentTime + _this2.seekTime.diff(_this2.startTime, 'seconds');
270
- }
271
- callback(currentTime, _this2.type === 'hk_ws' || _this2.type === 'hkcar_ws' ? _this2.preSpeed : _this2.video.playbackRate);
272
- });
273
- // 增加hw_ws 流播放结束回调
274
- var player = this.player;
275
- (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {
276
- StreamEnd: function StreamEnd() {
277
- callback((0, _moment["default"])(_this2.endTime).diff(_this2.startTime, 'seconds'), _this2.preSpeed);
278
- }
279
- });
354
+ if (this.isHkWs()) {
355
+ this.startHKTimeUpdate(callback);
356
+ // 增加hw_ws 流播放结束回调
357
+ var player = this.player;
358
+ (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {
359
+ StreamEnd: function StreamEnd() {
360
+ callback((0, _moment["default"])(_this3.endTime).diff(_this3.startTime, 'seconds'), _this3.preSpeed);
361
+ }
362
+ });
363
+ } else {
364
+ this.video.addEventListener('timeupdate', function () {
365
+ callback(_this3.getVideoCurrentTime(), _this3.getCurrentSpeed());
366
+ });
367
+ }
280
368
  }
281
369
  /** 跳转到 */
282
370
  }, {
283
371
  key: "seekTo",
284
372
  value: function seekTo(time) {
285
- var _a;
286
- return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
373
+ var _a, _b;
374
+ return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee2() {
287
375
  var player, seekTime;
288
- return _regenerator["default"].wrap(function _callee$(_context) {
289
- while (1) {
290
- switch (_context.prev = _context.next) {
291
- case 0:
292
- player = this.player;
293
- seekTime = (_a = (0, _moment["default"])(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');
294
- this.seekTime = seekTime;
295
- _context.next = 5;
296
- return player.JS_Seek(1, (0, _utils.getHKTimeString)(seekTime), (0, _utils.getHKTimeString)(this.endTime));
297
- case 5:
298
- return _context.abrupt("return", Promise.resolve());
299
- case 6:
300
- case "end":
301
- return _context.stop();
302
- }
376
+ return _regenerator().w(function (_context2) {
377
+ while (1) switch (_context2.p = _context2.n) {
378
+ case 0:
379
+ player = this.player;
380
+ seekTime = (_a = (0, _moment["default"])(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');
381
+ this.seekTime = seekTime;
382
+ if (this.isHkWs()) {
383
+ this.stopTimeUpdateTimer();
384
+ (_b = this.timeUpdateCallback) === null || _b === void 0 ? void 0 : _b.call(this, time, this.getCurrentSpeed());
385
+ }
386
+ _context2.p = 1;
387
+ _context2.n = 2;
388
+ return player.JS_Seek(1, (0, _utils.getHKTimeString)(seekTime), (0, _utils.getHKTimeString)(this.endTime));
389
+ case 2:
390
+ _context2.p = 2;
391
+ if (this.isHkWs() && this.timeUpdateCallback) {
392
+ this.startHKTimeUpdate(this.timeUpdateCallback, false);
393
+ }
394
+ return _context2.f(2);
395
+ case 3:
396
+ return _context2.a(2, Promise.resolve());
303
397
  }
304
- }, _callee, this);
398
+ }, _callee2, this, [[1,, 2, 3]]);
305
399
  }));
306
400
  }
307
401
  /**
@@ -372,8 +466,6 @@ var Player = /*#__PURE__*/function () {
372
466
  });
373
467
  }
374
468
  }]);
375
- return Player;
376
469
  }();
377
- var _default = Player;
378
- exports["default"] = _default;
470
+ var _default = exports["default"] = Player;
379
471
  //# sourceMappingURL=HkwsPlayer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HkwsPlayer.js","names":["_config","_interopRequireDefault","require","_utils","_moment","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","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","window","JSPlugin","szId","szBasePath","concat","CONFIG","visPlugin","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","preload","play","JS_Play","playURL","mode","JS_SetWindowControlCallback","pluginErrorHandler","index","iErrorCode","playBack","getHKTimeString","seekTime","moment","destroy","_this","JS_Stop","dd","childNodes","removeChild","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","call","StreamEnd","seekTo","_regenerator","mark","_callee","wrap","_callee$","_context","prev","add","JS_Seek","abrupt","stop","pause","JS_Pause","resume","tp","JS_Resume","startTalk","JS_StartTalk","error","stopTalk","JS_StopTalk","_default","exports"],"sources":["player/HkwsPlayer.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 this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: `${CONFIG.visPlugin}/`,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n this.video.preload = 'auto';\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 }\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":[]}
1
+ {"version":3,"file":"HkwsPlayer.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","_invoke","enumerable","configurable","writable","_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","downloadSaving","windowIndex","url","originalUrl","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","live","hkType","type","startTime","endTime","streamType","reload","onClose","id","playerParams","getPlayerParams","video","document","createElement","className","muted","window","JSPlugin","szId","szBasePath","concat","CONFIG","visPlugin","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","preload","play","JS_Play","playURL","mode","JS_SetWindowControlCallback","pluginErrorHandler","index","iErrorCode","console","log","playBack","getHKTimeString","seekTime","moment","destroy","_this","_a","stopTimeUpdateTimer","clearDownloadTimer","JS_StopSave","JS_Stop","dd","childNodes","removeChild","capture","captureName","arguments","undefined","callback","time","name","format","JS_CapturePicture","res","Capture","resize","setTimeout","JS_Resize","isHkWs","getVideoCurrentTime","currentTime","diff","getCurrentSpeed","playbackRate","parseOSDTime","osdTime","unix","isValid","nestedTime","OSDTime","currOSDTime","data","timestamp","timeStamp","year","month","day","hour","minute","second","millisecond","milliseconds","some","item","isNaN","date","timeUpdateTimer","clearInterval","downloadTimer","clearTimeout","startHKTimeUpdate","_this2","emitImmediately","timeUpdateCallback","emit","_callee","_t","_context","JS_GetOSDTime","setInterval","setVolume","JS_CloseSound","JS_OpenSound","info","err","JS_SetVolume","setSpeed","speed","JS_Speed","rate","onTimeUpdate","_this3","StreamEnd","addEventListener","seekTo","_b","_callee2","_context2","add","JS_Seek","pause","JS_Pause","resume","tp","JS_Resume","startTalk","JS_StartTalk","error","stopTalk","JS_StopTalk","_default","exports"],"sources":["player/HkwsPlayer.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 this.downloadSaving = false;\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, originalUrl, channelNum, deviceCode, enableAgent = false, container, live = true, hkType, 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.hkType = hkType;\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 this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: `${CONFIG.visPlugin}/`,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n this.video.preload = 'auto';\n }\n /** 播放 */\n play() {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: this.hkType === 'NLZZ' ? 0 : 1 }, // 南乐中州\n 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 console.log('流中断,电脑配置过低,程序卡主线程都可能导致流中断,执行reload');\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 var _a;\n if (!this.player)\n return;\n this.stopTimeUpdateTimer();\n this.clearDownloadTimer();\n const player = this.player;\n if (this.downloadSaving) {\n (_a = player.JS_StopSave) === null || _a === void 0 ? void 0 : _a.call(player, this.windowIndex);\n this.downloadSaving = false;\n }\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 }\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 isHkWs() {\n return this.type === 'hk_ws' || this.type === 'hkcar_ws';\n }\n getVideoCurrentTime() {\n let currentTime = this.video.currentTime;\n if (this.isHkWs() && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n return currentTime;\n }\n getCurrentSpeed() {\n return this.isHkWs() ? this.preSpeed : this.video.playbackRate;\n }\n parseOSDTime(osdTime) {\n if (!osdTime)\n return null;\n if (typeof osdTime === 'number') {\n const time = osdTime > 10000000000 ? moment(osdTime) : moment.unix(osdTime);\n return time.isValid() ? time : null;\n }\n if (typeof osdTime === 'string') {\n const time = moment(osdTime);\n return time.isValid() ? time : null;\n }\n const nestedTime = osdTime.osdTime || osdTime.OSDTime || osdTime.currOSDTime || osdTime.data;\n if (nestedTime)\n return this.parseOSDTime(nestedTime);\n const timestamp = osdTime.timestamp || osdTime.timeStamp;\n if (timestamp)\n return this.parseOSDTime(timestamp);\n const year = Number(osdTime.year);\n const month = Number(osdTime.month);\n const day = Number(osdTime.day);\n const hour = Number(osdTime.hour);\n const minute = Number(osdTime.minute);\n const second = Number(osdTime.second);\n const millisecond = Number(osdTime.milliseconds || 0);\n if ([year, month, day, hour, minute, second].some((item) => Number.isNaN(item))) {\n return null;\n }\n const time = moment({\n year,\n month: month - 1,\n date: day,\n hour,\n minute,\n second,\n millisecond,\n });\n return time.isValid() ? time : null;\n }\n stopTimeUpdateTimer() {\n if (this.timeUpdateTimer) {\n window.clearInterval(this.timeUpdateTimer);\n this.timeUpdateTimer = undefined;\n }\n }\n clearDownloadTimer() {\n if (this.downloadTimer) {\n window.clearTimeout(this.downloadTimer);\n this.downloadTimer = undefined;\n }\n }\n startHKTimeUpdate(callback, emitImmediately = true) {\n const player = this.player;\n this.stopTimeUpdateTimer();\n this.timeUpdateCallback = callback;\n const emit = () => __awaiter(this, void 0, void 0, function* () {\n var _a;\n try {\n const osdTime = yield player.JS_GetOSDTime(this.windowIndex);\n const currentTime = (_a = this.parseOSDTime(osdTime)) === null || _a === void 0 ? void 0 : _a.diff(this.startTime, 'seconds');\n callback(typeof currentTime === 'number' && currentTime >= 0\n ? currentTime\n : this.getVideoCurrentTime(), this.getCurrentSpeed());\n }\n catch (error) {\n callback(this.getVideoCurrentTime(), this.getCurrentSpeed());\n }\n });\n if (emitImmediately) {\n emit();\n }\n this.timeUpdateTimer = window.setInterval(emit, 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 player.JS_Speed(this.windowIndex, speed === 0.5 ? -2 : speed).then((rate) => {\n console.info('JS_Speed success:', rate);\n // do you want...\n }, (err) => {\n console.info('JS_Speed failed');\n // do you want...\n });\n this.preSpeed = speed;\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n if (this.isHkWs()) {\n this.startHKTimeUpdate(callback);\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 else {\n this.video.addEventListener('timeupdate', () => {\n callback(this.getVideoCurrentTime(), this.getCurrentSpeed());\n });\n }\n }\n /** 跳转到 */\n seekTo(time) {\n var _a, _b;\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 if (this.isHkWs()) {\n this.stopTimeUpdateTimer();\n (_b = this.timeUpdateCallback) === null || _b === void 0 ? void 0 : _b.call(this, time, this.getCurrentSpeed());\n }\n try {\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n finally {\n if (this.isHkWs() && this.timeUpdateCallback) {\n this.startHKTimeUpdate(this.timeUpdateCallback, false);\n }\n }\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":[]}
@@ -1,6 +1,6 @@
1
1
  import moment from 'moment';
2
2
  /** 视频流格式 */
3
- export declare type VideoType = 'hls' | string;
3
+ export type VideoType = 'hls' | string;
4
4
  interface ConstructorParams {
5
5
  url?: string;
6
6
  originalUrl?: string;
@@ -18,6 +18,7 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
+ channelId?: string;
21
22
  /** 设备Code */
22
23
  deviceCode?: string;
23
24
  /**是否开启代理 */
@@ -28,6 +29,7 @@ interface ConstructorParams {
28
29
  live?: boolean;
29
30
  /** 视频流格式 */
30
31
  type?: VideoType;
32
+ hkType?: string;
31
33
  /** 开始时间,历史回放需要 */
32
34
  startTime?: moment.MomentInput;
33
35
  /** 结束时间,历史回放需要 */