@vtx/player 1.10.19 → 1.12.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 (177) 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 +14 -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 +32 -32
  21. package/lib/bill-player/index.js.map +1 -1
  22. package/lib/components/download-tag/index.js +19 -18
  23. package/lib/components/download-tag/index.js.map +1 -1
  24. package/lib/components/set-tag-video/index.js +25 -24
  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 +16 -13
  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 +16 -15
  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 +44 -42
  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 +24 -23
  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 +283 -74
  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 +51 -26
  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 +238 -185
  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 +14 -0
  70. package/lib/hooks/useTranslation.js +204 -0
  71. package/lib/hooks/useTranslation.js.map +1 -0
  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 +38 -38
  78. package/lib/icons/index.js +101 -467
  79. package/lib/icons/index.js.map +1 -1
  80. package/lib/index.d.ts +2 -0
  81. package/lib/index.js +38 -1
  82. package/lib/index.js.map +1 -1
  83. package/lib/live-channel-player/index.d.ts +1 -1
  84. package/lib/live-channel-player/index.js +28 -32
  85. package/lib/live-channel-player/index.js.map +1 -1
  86. package/lib/live-control/index.d.ts +4 -2
  87. package/lib/live-control/index.js +29 -19
  88. package/lib/live-control/index.js.map +1 -1
  89. package/lib/live-control-v2/index.d.ts +5 -3
  90. package/lib/live-control-v2/index.js +22 -22
  91. package/lib/live-control-v2/index.js.map +1 -1
  92. package/lib/live-player/index.d.ts +1 -0
  93. package/lib/live-player/index.js +169 -143
  94. package/lib/live-player/index.js.map +1 -1
  95. package/lib/locales/en.json +93 -0
  96. package/lib/locales/index.d.ts +20 -0
  97. package/lib/locales/index.js +105 -0
  98. package/lib/locales/index.js.map +1 -0
  99. package/lib/locales/zh-CN.json +93 -0
  100. package/lib/mpegts/PlayerManager.js +14 -8
  101. package/lib/mpegts/PlayerManager.js.map +1 -1
  102. package/lib/player/BdPlayer.d.ts +7 -2
  103. package/lib/player/BdPlayer.js +138 -47
  104. package/lib/player/BdPlayer.js.map +1 -1
  105. package/lib/player/BdPlayer2.d.ts +117 -0
  106. package/lib/player/BdPlayer2.js +341 -0
  107. package/lib/player/BdPlayer2.js.map +1 -0
  108. package/lib/player/FlvPlayer.d.ts +2 -1
  109. package/lib/player/FlvPlayer.js +17 -20
  110. package/lib/player/FlvPlayer.js.map +1 -1
  111. package/lib/player/H264Player.d.ts +2 -1
  112. package/lib/player/H264Player.js +17 -20
  113. package/lib/player/H264Player.js.map +1 -1
  114. package/lib/player/HkcarwsPlayer.d.ts +10 -1
  115. package/lib/player/HkcarwsPlayer.js +149 -36
  116. package/lib/player/HkcarwsPlayer.js.map +1 -1
  117. package/lib/player/HkwsPlayer.d.ts +19 -1
  118. package/lib/player/HkwsPlayer.js +178 -90
  119. package/lib/player/HkwsPlayer.js.map +1 -1
  120. package/lib/player/HlsPlayer.d.ts +2 -1
  121. package/lib/player/HlsPlayer.js +17 -20
  122. package/lib/player/HlsPlayer.js.map +1 -1
  123. package/lib/player/IccwsPlayer.d.ts +2 -1
  124. package/lib/player/IccwsPlayer.js +19 -22
  125. package/lib/player/IccwsPlayer.js.map +1 -1
  126. package/lib/player/IframePlayer.d.ts +2 -1
  127. package/lib/player/IframePlayer.js +8 -7
  128. package/lib/player/IframePlayer.js.map +1 -1
  129. package/lib/player/Mp4Player.d.ts +2 -1
  130. package/lib/player/Mp4Player.js +17 -20
  131. package/lib/player/Mp4Player.js.map +1 -1
  132. package/lib/player/RslPlayer.d.ts +2 -1
  133. package/lib/player/RslPlayer.js +17 -20
  134. package/lib/player/RslPlayer.js.map +1 -1
  135. package/lib/player/VtxHlsPlayer.d.ts +2 -1
  136. package/lib/player/VtxHlsPlayer.js +17 -20
  137. package/lib/player/VtxHlsPlayer.js.map +1 -1
  138. package/lib/player/VtxwhepPlayer.d.ts +2 -1
  139. package/lib/player/VtxwhepPlayer.js +17 -20
  140. package/lib/player/VtxwhepPlayer.js.map +1 -1
  141. package/lib/player/VtxwsPlayer.d.ts +2 -1
  142. package/lib/player/VtxwsPlayer.js +16 -19
  143. package/lib/player/VtxwsPlayer.js.map +1 -1
  144. package/lib/player/Web34Player.d.ts +172 -0
  145. package/lib/player/Web34Player.js +1912 -0
  146. package/lib/player/Web34Player.js.map +1 -0
  147. package/lib/player/WebrtcPlayer.d.ts +2 -1
  148. package/lib/player/WebrtcPlayer.js +17 -20
  149. package/lib/player/WebrtcPlayer.js.map +1 -1
  150. package/lib/player/WfsPlayer.d.ts +2 -1
  151. package/lib/player/WfsPlayer.js +17 -20
  152. package/lib/player/WfsPlayer.js.map +1 -1
  153. package/lib/player/YsyPlayer.d.ts +116 -0
  154. package/lib/player/YsyPlayer.js +273 -0
  155. package/lib/player/YsyPlayer.js.map +1 -0
  156. package/lib/player/index.d.ts +4 -1
  157. package/lib/player/index.js +22 -1
  158. package/lib/player/index.js.map +1 -1
  159. package/lib/player/indexOld.d.ts +2 -1
  160. package/lib/player/indexOld.js +98 -101
  161. package/lib/player/indexOld.js.map +1 -1
  162. package/lib/rsl/PlayerManager.d.ts +1 -1
  163. package/lib/rsl/PlayerManager.js +10 -9
  164. package/lib/rsl/PlayerManager.js.map +1 -1
  165. package/lib/typings/h5player.d.ts +33 -1
  166. package/lib/utils/index.d.ts +1 -1
  167. package/lib/utils/index.js +16 -27
  168. package/lib/utils/index.js.map +1 -1
  169. package/lib/vtxHls/PlayerManager.js +8 -7
  170. package/lib/vtxHls/PlayerManager.js.map +1 -1
  171. package/lib/vtxHls/WhepManager.js +11 -10
  172. package/lib/vtxHls/WhepManager.js.map +1 -1
  173. package/lib/webrtc/PlayerManager.js +8 -7
  174. package/lib/webrtc/PlayerManager.js.map +1 -1
  175. package/lib/wfs/PlayerManager.js +8 -7
  176. package/lib/wfs/PlayerManager.js.map +1 -1
  177. package/package.json +5 -1
@@ -4,25 +4,27 @@ 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 _jsxRuntime = require("react/jsx-runtime");
9
8
  var _react = require("react");
10
9
  var _api = require("../api");
11
10
  var _controls = require("../controls");
12
11
  var _api2 = _interopRequireDefault(require("../icc/api"));
13
12
  var _icons = require("../icons");
13
+ var _locales = require("../locales");
14
14
  var _index = require("../player/index");
15
15
  var _utils = require("../utils");
16
16
  var _ahooks = require("ahooks");
17
17
  var _space = _interopRequireDefault(require("antd/lib/space"));
18
18
  var _moment = _interopRequireDefault(require("moment"));
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
20
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
20
+ 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 }; })(); }
21
+ 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); }
22
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
21
23
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
22
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
25
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
26
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
27
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
26
28
  var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
27
29
  function adopt(value) {
28
30
  return value instanceof P ? value : new P(function (resolve) {
@@ -54,6 +56,7 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
54
56
  // import { Space } from 'antd';
55
57
 
56
58
  var LivePlayer = function LivePlayer(props, selfRef) {
59
+ var _a;
57
60
  var empty = props.empty,
58
61
  url = props.url,
59
62
  beenHasVideo = props.beenHasVideo,
@@ -62,8 +65,6 @@ var LivePlayer = function LivePlayer(props, selfRef) {
62
65
  devicePort = props.devicePort,
63
66
  userName = props.userName,
64
67
  password = props.password,
65
- _props$channelId = props.channelId,
66
- channelId = _props$channelId === void 0 ? '' : _props$channelId,
67
68
  _props$channelName = props.channelName,
68
69
  channelName = _props$channelName === void 0 ? '' : _props$channelName,
69
70
  _props$enableAgent = props.enableAgent,
@@ -74,7 +75,7 @@ var LivePlayer = function LivePlayer(props, selfRef) {
74
75
  height = _props$height === void 0 ? '100%' : _props$height,
75
76
  captureName = props.captureName,
76
77
  _props$type = props.type,
77
- type = _props$type === void 0 ? '' : _props$type,
78
+ type = _props$type === void 0 ? 'flv' : _props$type,
78
79
  channelNum = props.channelNum,
79
80
  _props$deviceId = props.deviceId,
80
81
  deviceId = _props$deviceId === void 0 ? '' : _props$deviceId,
@@ -93,10 +94,10 @@ var LivePlayer = function LivePlayer(props, selfRef) {
93
94
  _onClose = props.onClose,
94
95
  _props$showMarker = props.showMarker,
95
96
  showMarker = _props$showMarker === void 0 ? false : _props$showMarker,
96
- _props$markerText = props.markerText,
97
- markerText = _props$markerText === void 0 ? '水印' : _props$markerText,
97
+ markerText = props.markerText,
98
98
  _props$markerDense = props.markerDense,
99
99
  markerDense = _props$markerDense === void 0 ? false : _props$markerDense;
100
+ var messages = (0, _locales.getLocaleMessages)();
100
101
  var ref = (0, _react.useRef)(null);
101
102
  var wrapRef = (0, _react.useRef)(null);
102
103
  var controlsRef = (0, _react.useRef)(null);
@@ -117,6 +118,10 @@ var LivePlayer = function LivePlayer(props, selfRef) {
117
118
  _useSetState2 = _slicedToArray(_useSetState, 2),
118
119
  state = _useSetState2[0],
119
120
  setState = _useSetState2[1];
121
+ var isYsy = type === 'ysy';
122
+ var showVolumeControl = beenHasAudio || isYsy;
123
+ var showCaptureControl = !!screenshot || isYsy;
124
+ var showCloudControl = isYsy ? !!cloudParams && cloudParams.type !== 'none' : (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none';
120
125
  (0, _react.useImperativeHandle)(selfRef, function () {
121
126
  return {
122
127
  player: playerRef.current,
@@ -138,133 +143,151 @@ var LivePlayer = function LivePlayer(props, selfRef) {
138
143
  var transType = type || playerParams.type;
139
144
  var player = null;
140
145
  (function () {
141
- return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
142
- var token, PLAYER;
143
- return _regenerator["default"].wrap(function _callee$(_context) {
144
- while (1) {
145
- switch (_context.prev = _context.next) {
146
- case 0:
147
- if (!(type === 'icc_ws')) {
148
- _context.next = 5;
149
- break;
150
- }
151
- _context.next = 3;
152
- return _api2["default"].getToken({
153
- deviceId: deviceId
154
- });
155
- case 3:
156
- token = _context.sent;
157
- localStorage.setItem('accessToken', token);
158
- case 5:
159
- PLAYER = null;
160
- _context.t0 = transType;
161
- _context.next = _context.t0 === 'flv' ? 9 : _context.t0 === 'hls' ? 11 : _context.t0 === 'vtxhls' ? 13 : _context.t0 === 'vtxwhep' ? 15 : _context.t0 === 'hk_ws' ? 17 : _context.t0 === 'hkcar_ws' ? 19 : _context.t0 === 'vtx_ws' ? 21 : _context.t0 === 'icc_ws' ? 23 : _context.t0 === 'webrtc' ? 25 : _context.t0 === 'wfs' ? 27 : _context.t0 === 'h264' ? 29 : _context.t0 === 'bd' ? 31 : _context.t0 === 'mp4' ? 33 : _context.t0 === 'iframe' ? 35 : _context.t0 === 'rsl' ? 37 : 39;
146
+ return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
147
+ var token, _token, PLAYER, _t;
148
+ return _regenerator().w(function (_context) {
149
+ while (1) switch (_context.n) {
150
+ case 0:
151
+ if (!(type === 'icc_ws')) {
152
+ _context.n = 2;
162
153
  break;
163
- case 9:
164
- PLAYER = _index.FlvPlayer;
165
- return _context.abrupt("break", 40);
166
- case 11:
167
- PLAYER = _index.HlsPlayer;
168
- return _context.abrupt("break", 40);
169
- case 13:
170
- PLAYER = _index.VtxHlsPlayer;
171
- return _context.abrupt("break", 40);
172
- case 15:
173
- PLAYER = _index.VtxwhepPlayer;
174
- return _context.abrupt("break", 40);
175
- case 17:
176
- PLAYER = _index.HkwsPlayer;
177
- return _context.abrupt("break", 40);
178
- case 19:
179
- PLAYER = _index.HkcarwsPlayer;
180
- return _context.abrupt("break", 40);
181
- case 21:
182
- PLAYER = _index.VtxwsPlayer;
183
- return _context.abrupt("break", 40);
184
- case 23:
185
- PLAYER = _index.IccwsPlayer;
186
- return _context.abrupt("break", 40);
187
- case 25:
188
- PLAYER = _index.WebrtcPlayer;
189
- return _context.abrupt("break", 40);
190
- case 27:
191
- PLAYER = _index.WfsPlayer;
192
- return _context.abrupt("break", 40);
193
- case 29:
194
- PLAYER = _index.H264Player;
195
- return _context.abrupt("break", 40);
196
- case 31:
197
- PLAYER = _index.BdPlayer;
198
- return _context.abrupt("break", 40);
199
- case 33:
200
- PLAYER = _index.Mp4Player;
201
- return _context.abrupt("break", 40);
202
- case 35:
203
- PLAYER = _index.IframePlayer;
204
- return _context.abrupt("break", 40);
205
- case 37:
206
- PLAYER = _index.RslPlayer;
207
- return _context.abrupt("break", 40);
208
- case 39:
209
- return _context.abrupt("break", 40);
210
- case 40:
211
- if (!PLAYER) {
212
- _context.next = 47;
213
- break;
214
- }
215
- _context.next = 43;
216
- return new PLAYER({
217
- url: url,
218
- deviceIp: deviceIp,
219
- deviceId: deviceId,
220
- devicePort: devicePort,
221
- userName: userName,
222
- password: password,
223
- streamType: streamType,
224
- deviceCode: deviceCode,
225
- channelNum: channelNum,
226
- enableAgent: enableAgent,
227
- container: container,
228
- beenHasAudio: beenHasAudio,
229
- type: type,
230
- reload: function reload() {
231
- if (typeof _reload === 'function') {
232
- _reload();
233
- }
234
- },
235
- onClose: function onClose() {
236
- if (typeof _onClose === 'function') {
237
- _onClose();
238
- }
154
+ }
155
+ _context.n = 1;
156
+ return _api2["default"].getToken({
157
+ deviceId: deviceId
158
+ });
159
+ case 1:
160
+ token = _context.v;
161
+ localStorage.setItem('accessToken', token);
162
+ case 2:
163
+ if (!(type === 'ysy')) {
164
+ _context.n = 4;
165
+ break;
166
+ }
167
+ _context.n = 3;
168
+ return _api2["default"].getTokenYsy({
169
+ deviceId: deviceId
170
+ });
171
+ case 3:
172
+ _token = _context.v;
173
+ localStorage.setItem('accessToken', _token);
174
+ case 4:
175
+ PLAYER = null;
176
+ _t = transType;
177
+ _context.n = _t === 'flv' ? 5 : _t === 'hls' ? 6 : _t === 'vtxhls' ? 7 : _t === 'vtxwhep' ? 8 : _t === 'hk_ws' ? 9 : _t === 'hkcar_ws' ? 10 : _t === 'vtx_ws' ? 11 : _t === 'web3.4' ? 12 : _t === 'web3.0' ? 12 : _t === 'icc_ws' ? 13 : _t === 'webrtc' ? 14 : _t === 'wfs' ? 15 : _t === 'h264' ? 16 : _t === 'bd' ? 17 : _t === 'bd2' ? 18 : _t === 'mp4' ? 19 : _t === 'iframe' ? 20 : _t === 'rsl' ? 21 : _t === 'ysy' ? 22 : 23;
178
+ break;
179
+ case 5:
180
+ PLAYER = _index.FlvPlayer;
181
+ return _context.a(3, 24);
182
+ case 6:
183
+ PLAYER = _index.HlsPlayer;
184
+ return _context.a(3, 24);
185
+ case 7:
186
+ PLAYER = _index.VtxHlsPlayer;
187
+ return _context.a(3, 24);
188
+ case 8:
189
+ PLAYER = _index.VtxwhepPlayer;
190
+ return _context.a(3, 24);
191
+ case 9:
192
+ PLAYER = _index.HkwsPlayer;
193
+ return _context.a(3, 24);
194
+ case 10:
195
+ PLAYER = _index.HkcarwsPlayer;
196
+ return _context.a(3, 24);
197
+ case 11:
198
+ PLAYER = _index.VtxwsPlayer;
199
+ return _context.a(3, 24);
200
+ case 12:
201
+ PLAYER = _index.Web34Player;
202
+ return _context.a(3, 24);
203
+ case 13:
204
+ PLAYER = _index.IccwsPlayer;
205
+ return _context.a(3, 24);
206
+ case 14:
207
+ PLAYER = _index.WebrtcPlayer;
208
+ return _context.a(3, 24);
209
+ case 15:
210
+ PLAYER = _index.WfsPlayer;
211
+ return _context.a(3, 24);
212
+ case 16:
213
+ PLAYER = _index.H264Player;
214
+ return _context.a(3, 24);
215
+ case 17:
216
+ PLAYER = _index.BdPlayer;
217
+ return _context.a(3, 24);
218
+ case 18:
219
+ PLAYER = _index.BdPlayer2;
220
+ return _context.a(3, 24);
221
+ case 19:
222
+ PLAYER = _index.Mp4Player;
223
+ return _context.a(3, 24);
224
+ case 20:
225
+ PLAYER = _index.IframePlayer;
226
+ return _context.a(3, 24);
227
+ case 21:
228
+ PLAYER = _index.RslPlayer;
229
+ return _context.a(3, 24);
230
+ case 22:
231
+ PLAYER = _index.YsyPlayer;
232
+ return _context.a(3, 24);
233
+ case 23:
234
+ return _context.a(3, 24);
235
+ case 24:
236
+ if (!PLAYER) {
237
+ _context.n = 26;
238
+ break;
239
+ }
240
+ _context.n = 25;
241
+ return new PLAYER({
242
+ url: url,
243
+ deviceIp: deviceIp,
244
+ deviceId: deviceId,
245
+ devicePort: devicePort,
246
+ userName: userName,
247
+ password: password,
248
+ streamType: streamType,
249
+ deviceCode: deviceCode,
250
+ channelNum: channelNum,
251
+ enableAgent: enableAgent,
252
+ container: container,
253
+ beenHasAudio: beenHasAudio,
254
+ type: type,
255
+ reload: function reload() {
256
+ if (typeof _reload === 'function') {
257
+ _reload();
239
258
  }
240
- });
241
- case 43:
242
- player = _context.sent;
243
- playerRef.current = player;
259
+ },
260
+ onClose: function onClose() {
261
+ if (typeof _onClose === 'function') {
262
+ _onClose();
263
+ }
264
+ }
265
+ });
266
+ case 25:
267
+ player = _context.v;
268
+ playerRef.current = player;
269
+ setState({
270
+ loading: true,
271
+ error: false
272
+ });
273
+ player && player.play().then(function () {
274
+ saveRecordFetch();
244
275
  setState({
245
- loading: true,
276
+ play: true,
246
277
  error: false
247
278
  });
248
- player && player.play().then(function () {
249
- saveRecordFetch();
250
- setState({
251
- play: true,
252
- error: false
253
- });
254
- })["catch"](function () {
255
- return setState({
256
- error: true
257
- });
258
- })["finally"](function () {
259
- setState({
260
- loading: false
261
- });
262
- loaded && loaded();
279
+ })["catch"](function () {
280
+ return setState({
281
+ error: true
282
+ });
283
+ })["finally"](function () {
284
+ setState({
285
+ loading: false
263
286
  });
264
- case 47:
265
- case "end":
266
- return _context.stop();
267
- }
287
+ loaded && loaded();
288
+ });
289
+ case 26:
290
+ return _context.a(2);
268
291
  }
269
292
  }, _callee);
270
293
  }));
@@ -283,7 +306,7 @@ var LivePlayer = function LivePlayer(props, selfRef) {
283
306
  var saveRecordFetch = function saveRecordFetch() {
284
307
  (0, _api.saveRecord)({
285
308
  id: state.playRecordId,
286
- channelId: channelId,
309
+ channelNum: channelNum,
287
310
  channelName: channelName,
288
311
  deviceId: deviceId,
289
312
  deviceName: deviceName,
@@ -298,7 +321,7 @@ var LivePlayer = function LivePlayer(props, selfRef) {
298
321
  };
299
322
  var handleCapture = function handleCapture(e) {
300
323
  var player = playerRef.current;
301
- player && player.capture(captureName, screenshot);
324
+ player && player.capture(captureName || messages.player.captureName, screenshot);
302
325
  e.stopPropagation();
303
326
  };
304
327
  var handleFullScreen = function handleFullScreen(e) {
@@ -333,15 +356,19 @@ var LivePlayer = function LivePlayer(props, selfRef) {
333
356
  lineHeight: markerDense ? 5 : 10
334
357
  }
335
358
  }, {
336
- children: markerText
359
+ children: markerText || messages.player.watermark
337
360
  }), index);
338
361
  })
339
362
  })), state.error && (0, _jsxRuntime.jsx)(_controls.ErrorState, {
340
363
  onClick: _reload
341
- }), state.loading && (0, _jsxRuntime.jsx)(_controls.LoadingState, {}), state.showCloudPanel && (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.hasCloudControl) && (0, _jsxRuntime.jsx)(_controls.CloudControlPanel, Object.assign({}, cloudParams)), (0, _jsxRuntime.jsx)(_controls.InfoPanel, {
364
+ }), state.loading && (0, _jsxRuntime.jsx)(_controls.LoadingState, {}), state.showCloudPanel && (0, _jsxRuntime.jsx)(_controls.CloudControlPanel, Object.assign({}, cloudParams, {
365
+ localControl: ((_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.ptzControl) ? function (action, command) {
366
+ return playerRef.current.ptzControl(action, command);
367
+ } : undefined
368
+ })), (0, _jsxRuntime.jsx)(_controls.InfoPanel, {
342
369
  showInfo: showInfo,
343
370
  info: info
344
- }), (0, _jsxRuntime.jsx)("div", Object.assign({
371
+ }), type !== 'ysy' && (0, _jsxRuntime.jsx)("div", Object.assign({
345
372
  className: "controls",
346
373
  ref: controlsRef
347
374
  }, {
@@ -350,16 +377,16 @@ var LivePlayer = function LivePlayer(props, selfRef) {
350
377
  size: 12,
351
378
  align: "center"
352
379
  }, {
353
- children: [beenHasAudio && (0, _jsxRuntime.jsx)(_controls.VolumeControl, {
380
+ children: [showVolumeControl && (0, _jsxRuntime.jsx)(_controls.VolumeControl, {
354
381
  player: playerRef.current,
355
382
  container: controlsRef.current
356
- }), !!screenshot && (0, _jsxRuntime.jsx)(_icons.CaptureIcon, {
383
+ }), showCaptureControl && (0, _jsxRuntime.jsx)(_icons.CaptureIcon, {
357
384
  onClick: handleCapture
358
385
  }), beenHasVideo && channelNum && deviceId && (0, _jsxRuntime.jsx)(_controls.TalkControl, {
359
386
  player: playerRef.current,
360
387
  channelNum: channelNum,
361
388
  deviceId: deviceId
362
- }), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (0, _jsxRuntime.jsx)(_icons.CloudControlIcon, {
389
+ }), showCloudControl && (0, _jsxRuntime.jsx)(_icons.CloudControlIcon, {
363
390
  active: state.showCloudPanel,
364
391
  onClick: function onClick() {
365
392
  return setState({
@@ -376,6 +403,5 @@ var LivePlayer = function LivePlayer(props, selfRef) {
376
403
  })) : null;
377
404
  };
378
405
  // LivePlayer.displayName = 'live-player';
379
- var _default = /*#__PURE__*/(0, _react.forwardRef)(LivePlayer);
380
- exports["default"] = _default;
406
+ var _default = exports["default"] = /*#__PURE__*/(0, _react.forwardRef)(LivePlayer);
381
407
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_controls","_api2","_interopRequireDefault","_icons","_index","_utils","_ahooks","_space","_moment","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_arr","_n","_d","_s","_e","next","done","push","value","err","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","e","rejected","result","then","apply","LivePlayer","props","selfRef","empty","url","beenHasVideo","beenHasAudio","deviceIp","devicePort","userName","password","_props$channelId","channelId","_props$channelName","channelName","_props$enableAgent","enableAgent","_props$width","width","_props$height","height","captureName","_props$type","type","channelNum","_props$deviceId","deviceId","_props$deviceName","deviceName","streamType","deviceCode","cloudParams","_props$showInfo","showInfo","_props$info","info","screenshot","loaded","reload","onClose","_props$showMarker","showMarker","_props$markerText","markerText","_props$markerDense","markerDense","ref","useRef","wrapRef","controlsRef","playerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","playRecordId","_useSetState2","state","setState","useImperativeHandle","player","current","resize","saveRecordFetch","useEffect","_a","container","destroy","playerParams","getPlayerParams","transType","_regenerator","mark","_callee","token","PLAYER","wrap","_callee$","_context","prev","API","getToken","sent","localStorage","setItem","t0","FlvPlayer","abrupt","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","Mp4Player","IframePlayer","RslPlayer","stop","saveRecord","recordType","startTime","moment","format","endTime","res","handleCapture","capture","stopPropagation","handleFullScreen","_jsxs","assign","className","style","children","_jsx","fill","map","_","index","lineHeight","ErrorState","onClick","LoadingState","hasCloudControl","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","_default","forwardRef","exports"],"sources":["live-player/index.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 { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { saveRecord } from '../api';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport { BdPlayer, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, WebrtcPlayer, WfsPlayer, } from '../player/index';\nimport { getPlayerParams, guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nconst LivePlayer = (props, selfRef) => {\n const { empty, url, beenHasVideo, beenHasAudio, deviceIp, devicePort, userName, password, channelId = '', channelName = '', enableAgent = false, width = '100%', height = '100%', captureName, type = '', channelNum, deviceId = '', deviceName = '', streamType, deviceCode, cloudParams, showInfo = false, info = [], screenshot, loaded, reload, onClose, showMarker = false, markerText = '水印', markerDense = false, } = props;\n const ref = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n showCloudPanel: false,\n playRecordId: '',\n });\n useImperativeHandle(selfRef, () => {\n return {\n player: playerRef.current,\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n saveRecordFetch,\n };\n });\n useEffect(() => {\n var _a;\n const container = ref.current;\n if (!url || !container || empty) {\n (_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n return;\n }\n const playerParams = getPlayerParams(type, url, enableAgent, true);\n const transType = type || playerParams.type;\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n // 如果是icc_ws类型,需要获取token\n if (type === 'icc_ws') {\n const token = yield API.getToken({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n let PLAYER = null;\n switch (transType) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n default:\n break;\n }\n if (PLAYER) {\n player = yield new PLAYER({\n url,\n deviceIp,\n deviceId,\n devicePort,\n userName,\n password,\n streamType,\n deviceCode,\n channelNum,\n enableAgent,\n container,\n beenHasAudio,\n type,\n reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n onClose: () => {\n if (typeof onClose === 'function') {\n onClose();\n }\n },\n });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player &&\n player\n .play()\n .then(() => {\n saveRecordFetch();\n setState({ play: true, error: false });\n })\n .catch(() => setState({ error: true }))\n .finally(() => {\n setState({ loading: false });\n loaded && loaded();\n });\n }\n }))();\n return () => {\n player && (player === null || player === void 0 ? void 0 : player.destroy());\n saveRecordFetch();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, empty]);\n // 保存播放记录\n const saveRecordFetch = () => {\n saveRecord({\n id: state.playRecordId,\n channelId,\n channelName,\n deviceId,\n deviceName,\n recordType: 'MONITOR',\n startTime: moment().format('YYYY-MM-DD HH:mm:ss'),\n endTime: state.playRecordId ? moment().format('YYYY-MM-DD HH:mm:ss') : '',\n }).then((res) => {\n setState({\n playRecordId: res === null || res === void 0 ? void 0 : res.id,\n });\n });\n };\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return !empty ? (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), showMarker && (_jsx(\"div\", Object.assign({ className: \"vtx-player-marker\" }, { children: new Array(100).fill('1').map((_, index) => (_jsx(\"div\", Object.assign({ className: \"marker\", style: {\n width: markerDense ? '50%' : '45%',\n lineHeight: markerDense ? 5 : 10,\n } }, { children: markerText }), index))) }))), state.error && _jsx(ErrorState, { onClick: reload }), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.hasCloudControl) && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [beenHasAudio && (_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current })), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), beenHasVideo && channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] }))) : null;\n};\n// LivePlayer.displayName = 'live-player';\nexport default forwardRef(LivePlayer);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_controls","_api2","_interopRequireDefault","_icons","_locales","_index","_utils","_ahooks","_space","_moment","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","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","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","next","push","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","result","then","apply","LivePlayer","props","selfRef","_a","empty","url","beenHasVideo","beenHasAudio","deviceIp","devicePort","userName","password","_props$channelName","channelName","_props$enableAgent","enableAgent","_props$width","width","_props$height","height","captureName","_props$type","type","channelNum","_props$deviceId","deviceId","_props$deviceName","deviceName","streamType","deviceCode","cloudParams","_props$showInfo","showInfo","_props$info","info","screenshot","loaded","reload","onClose","_props$showMarker","showMarker","markerText","_props$markerDense","markerDense","messages","getLocaleMessages","ref","useRef","wrapRef","controlsRef","playerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","playRecordId","_useSetState2","state","setState","isYsy","showVolumeControl","showCaptureControl","showCloudControl","useImperativeHandle","player","current","resize","saveRecordFetch","useEffect","container","destroy","playerParams","getPlayerParams","transType","_callee","token","_token","PLAYER","_t","_context","API","getToken","localStorage","setItem","getTokenYsy","FlvPlayer","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","Web34Player","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","BdPlayer2","Mp4Player","IframePlayer","RslPlayer","YsyPlayer","saveRecord","recordType","startTime","moment","format","endTime","res","handleCapture","capture","stopPropagation","handleFullScreen","_jsxs","assign","className","style","children","_jsx","fill","map","_","index","lineHeight","watermark","ErrorState","onClick","LoadingState","CloudControlPanel","localControl","ptzControl","action","command","undefined","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","_default","exports","forwardRef"],"sources":["live-player/index.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 { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { saveRecord } from '../api';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport { getLocaleMessages } from '../locales';\nimport { BdPlayer, BdPlayer2, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, Web34Player, WebrtcPlayer, WfsPlayer, YsyPlayer, } from '../player/index';\nimport { getPlayerParams, guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nconst LivePlayer = (props, selfRef) => {\n var _a;\n const { empty, url, beenHasVideo, beenHasAudio, deviceIp, devicePort, userName, password, channelName = '', enableAgent = false, width = '100%', height = '100%', captureName, type = 'flv', channelNum, deviceId = '', deviceName = '', streamType, deviceCode, cloudParams, showInfo = false, info = [], screenshot, loaded, reload, onClose, showMarker = false, markerText, markerDense = false, } = props;\n const messages = getLocaleMessages();\n const ref = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n showCloudPanel: false,\n playRecordId: '',\n });\n const isYsy = type === 'ysy';\n const showVolumeControl = beenHasAudio || isYsy;\n const showCaptureControl = !!screenshot || isYsy;\n const showCloudControl = isYsy\n ? !!cloudParams && cloudParams.type !== 'none'\n : (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none';\n useImperativeHandle(selfRef, () => {\n return {\n player: playerRef.current,\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n saveRecordFetch,\n };\n });\n useEffect(() => {\n var _a;\n const container = ref.current;\n if (!url || !container || empty) {\n (_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n return;\n }\n const playerParams = getPlayerParams(type, url, enableAgent, true);\n const transType = type || playerParams.type;\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n // 如果是icc_ws类型,需要获取token\n if (type === 'icc_ws') {\n const token = yield API.getToken({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n if (type === 'ysy') {\n const token = yield API.getTokenYsy({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n let PLAYER = null;\n switch (transType) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'web3.4':\n case 'web3.0':\n PLAYER = Web34Player;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'bd2':\n PLAYER = BdPlayer2;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n case 'ysy':\n PLAYER = YsyPlayer;\n break;\n default:\n break;\n }\n if (PLAYER) {\n player = yield new PLAYER({\n url,\n deviceIp,\n deviceId,\n devicePort,\n userName,\n password,\n streamType,\n deviceCode,\n channelNum,\n enableAgent,\n container,\n beenHasAudio,\n type,\n reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n onClose: () => {\n if (typeof onClose === 'function') {\n onClose();\n }\n },\n });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player &&\n player\n .play()\n .then(() => {\n saveRecordFetch();\n setState({ play: true, error: false });\n })\n .catch(() => setState({ error: true }))\n .finally(() => {\n setState({ loading: false });\n loaded && loaded();\n });\n }\n }))();\n return () => {\n player && (player === null || player === void 0 ? void 0 : player.destroy());\n saveRecordFetch();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, empty]);\n // 保存播放记录\n const saveRecordFetch = () => {\n saveRecord({\n id: state.playRecordId,\n channelNum,\n channelName,\n deviceId,\n deviceName,\n recordType: 'MONITOR',\n startTime: moment().format('YYYY-MM-DD HH:mm:ss'),\n endTime: state.playRecordId ? moment().format('YYYY-MM-DD HH:mm:ss') : '',\n }).then((res) => {\n setState({\n playRecordId: res === null || res === void 0 ? void 0 : res.id,\n });\n });\n };\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName || messages.player.captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return !empty ? (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), showMarker && (_jsx(\"div\", Object.assign({ className: \"vtx-player-marker\" }, { children: new Array(100).fill('1').map((_, index) => (_jsx(\"div\", Object.assign({ className: \"marker\", style: {\n width: markerDense ? '50%' : '45%',\n lineHeight: markerDense ? 5 : 10,\n } }, { children: markerText || messages.player.watermark }), index))) }))), state.error && _jsx(ErrorState, { onClick: reload }), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && (_jsx(CloudControlPanel, Object.assign({}, cloudParams, { localControl: ((_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.ptzControl)\n ? (action, command) => playerRef.current.ptzControl(action, command)\n : undefined }))), _jsx(InfoPanel, { showInfo: showInfo, info: info }), type !== 'ysy' && (_jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [showVolumeControl && (_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current })), showCaptureControl && _jsx(CaptureIcon, { onClick: handleCapture }), beenHasVideo && channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), showCloudControl && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) })))] }))) : null;\n};\n// LivePlayer.displayName = 'live-player';\nexport default forwardRef(LivePlayer);\n"],"mappings":"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","ignoreList":[]}