@vtx/player 0.0.12 → 0.0.13
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.
- package/{dist/types → lib}/api/fetch.d.ts +0 -0
- package/lib/api/fetch.js +128 -0
- package/lib/api/fetch.js.map +1 -0
- package/{dist/types → lib}/api/index.d.ts +0 -0
- package/lib/api/index.js +124 -0
- package/lib/api/index.js.map +1 -0
- package/{dist/types → lib}/api/types.d.ts +0 -0
- package/lib/api/types.js +6 -0
- package/lib/api/types.js.map +1 -0
- package/{dist/types/components → lib}/bill-player/index.d.ts +0 -2
- package/lib/bill-player/index.js +410 -0
- package/lib/bill-player/index.js.map +1 -0
- package/lib/bill-player/style/css.js +22 -0
- package/lib/bill-player/style/css.js.map +1 -0
- package/lib/bill-player/style/index.css +55 -0
- package/lib/bill-player/style/index.d.ts +10 -0
- package/lib/bill-player/style/index.js +22 -0
- package/lib/bill-player/style/index.js.map +1 -0
- package/lib/bill-player/style/index.less +58 -0
- package/lib/components/live-control/images/empty.png +0 -0
- package/{dist/types → lib}/context/index.d.ts +0 -0
- package/lib/context/index.js +20 -0
- package/lib/context/index.js.map +1 -0
- package/lib/controls/images/arrow.png +0 -0
- package/lib/controls/images/error.png +0 -0
- package/{dist/types/components → lib}/controls/index.d.ts +8 -2
- package/lib/controls/index.js +474 -0
- package/lib/controls/index.js.map +1 -0
- package/lib/controls/style/css.js +4 -0
- package/lib/controls/style/css.js.map +1 -0
- package/lib/controls/style/index.css +185 -0
- package/lib/controls/style/index.d.ts +1 -0
- package/lib/controls/style/index.js +4 -0
- package/lib/controls/style/index.js.map +1 -0
- package/lib/controls/style/index.less +187 -0
- package/lib/history-control/images/collapse.png +0 -0
- package/lib/history-control/images/empty.png +0 -0
- package/{dist/types/components → lib}/history-control/index.d.ts +4 -1
- package/lib/history-control/index.js +506 -0
- package/lib/history-control/index.js.map +1 -0
- package/lib/history-control/style/css.js +6 -0
- package/lib/history-control/style/css.js.map +1 -0
- package/lib/history-control/style/index.css +195 -0
- package/lib/history-control/style/index.d.ts +2 -0
- package/lib/history-control/style/index.js +6 -0
- package/lib/history-control/style/index.js.map +1 -0
- package/lib/history-control/style/index.less +219 -0
- package/{dist/types/components → lib}/history-player/index.d.ts +7 -4
- package/lib/history-player/index.js +276 -0
- package/lib/history-player/index.js.map +1 -0
- package/lib/history-player/style/css.js +6 -0
- package/lib/history-player/style/css.js.map +1 -0
- package/lib/history-player/style/index.css +105 -0
- package/lib/history-player/style/index.d.ts +2 -0
- package/lib/history-player/style/index.js +6 -0
- package/lib/history-player/style/index.js.map +1 -0
- package/lib/history-player/style/index.less +98 -0
- package/{dist/types → lib}/hooks/useSettings.d.ts +0 -0
- package/lib/hooks/useSettings.js +28 -0
- package/lib/hooks/useSettings.js.map +1 -0
- package/lib/icons/index.css +28 -0
- package/{dist/types → lib}/icons/index.d.ts +0 -0
- package/lib/icons/index.js +788 -0
- package/lib/icons/index.js.map +1 -0
- package/lib/icons/index.less +27 -0
- package/lib/index.d.ts +7 -0
- package/lib/index.js +64 -0
- package/lib/index.js.map +1 -0
- package/{dist/types/components → lib}/live-channel-player/index.d.ts +1 -2
- package/lib/live-channel-player/index.js +164 -0
- package/lib/live-channel-player/index.js.map +1 -0
- package/lib/live-channel-player/style/css.js +6 -0
- package/lib/live-channel-player/style/css.js.map +1 -0
- package/lib/live-channel-player/style/index.d.ts +2 -0
- package/lib/live-channel-player/style/index.js +6 -0
- package/lib/live-channel-player/style/index.js.map +1 -0
- package/lib/live-control/images/empty.png +0 -0
- package/{dist/types/components → lib}/live-control/index.d.ts +6 -3
- package/lib/live-control/index.js +381 -0
- package/lib/live-control/index.js.map +1 -0
- package/lib/live-control/style/css.js +6 -0
- package/lib/live-control/style/css.js.map +1 -0
- package/lib/live-control/style/index.css +73 -0
- package/lib/live-control/style/index.d.ts +2 -0
- package/lib/live-control/style/index.js +6 -0
- package/lib/live-control/style/index.js.map +1 -0
- package/lib/live-control/style/index.less +65 -0
- package/{dist/types/components → lib}/live-player/index.d.ts +6 -4
- package/lib/live-player/index.js +178 -0
- package/lib/live-player/index.js.map +1 -0
- package/lib/live-player/style/css.js +6 -0
- package/lib/live-player/style/css.js.map +1 -0
- package/lib/live-player/style/index.css +83 -0
- package/lib/live-player/style/index.d.ts +2 -0
- package/lib/live-player/style/index.js +6 -0
- package/lib/live-player/style/index.js.map +1 -0
- package/lib/live-player/style/index.less +70 -0
- package/{dist/types/components → lib}/player/index.d.ts +5 -0
- package/lib/player/index.js +476 -0
- package/lib/player/index.js.map +1 -0
- package/lib/player/style/css.js +2 -0
- package/lib/player/style/css.js.map +1 -0
- package/lib/player/style/index.d.ts +1 -0
- package/lib/player/style/index.js +2 -0
- package/lib/player/style/index.js.map +1 -0
- package/lib/typings/@vtx/utils/index.d.ts +27 -0
- package/lib/typings/h5player.d.ts +131 -0
- package/{dist/types → lib}/utils/index.d.ts +3 -3
- package/lib/utils/index.js +265 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/vite-env.d.ts +1 -0
- package/package.json +2 -2
- package/dist/index.d.ts +0 -221
- package/dist/index.es.js +0 -533
- package/dist/index.es.js.map +0 -1
- package/dist/index.umd.js +0 -533
- package/dist/index.umd.js.map +0 -1
- package/dist/types/main.d.ts +0 -8
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.HistoryPlayer = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _player = _interopRequireDefault(require("../player"));
|
|
13
|
+
|
|
14
|
+
var _ahooks = require("ahooks");
|
|
15
|
+
|
|
16
|
+
var _slider = _interopRequireDefault(require("antd/lib/slider"));
|
|
17
|
+
|
|
18
|
+
var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
19
|
+
|
|
20
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
21
|
+
|
|
22
|
+
var _controls = require("@/controls");
|
|
23
|
+
|
|
24
|
+
var _icons = require("@/icons");
|
|
25
|
+
|
|
26
|
+
var _utils = require("@/utils");
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
|
+
|
|
30
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
31
|
+
|
|
32
|
+
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."); }
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
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; }
|
|
39
|
+
|
|
40
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
41
|
+
|
|
42
|
+
var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
43
|
+
var url = props.url,
|
|
44
|
+
type = props.type,
|
|
45
|
+
_props$width = props.width,
|
|
46
|
+
width = _props$width === void 0 ? '100%' : _props$width,
|
|
47
|
+
_props$height = props.height,
|
|
48
|
+
height = _props$height === void 0 ? '100%' : _props$height,
|
|
49
|
+
captureName = props.captureName,
|
|
50
|
+
_props$controlBottom = props.controlBottom,
|
|
51
|
+
controlBottom = _props$controlBottom === void 0 ? 0 : _props$controlBottom,
|
|
52
|
+
startTime = props.startTime,
|
|
53
|
+
endTime = props.endTime,
|
|
54
|
+
onTimeChange = props.onTimeChange,
|
|
55
|
+
_props$showInfo = props.showInfo,
|
|
56
|
+
showInfo = _props$showInfo === void 0 ? false : _props$showInfo,
|
|
57
|
+
_props$info = props.info,
|
|
58
|
+
info = _props$info === void 0 ? [] : _props$info;
|
|
59
|
+
var totalTime = (0, _moment["default"])(endTime).diff((0, _moment["default"])(startTime), 'seconds');
|
|
60
|
+
var containerRef = (0, _react.useRef)(null);
|
|
61
|
+
var wrapRef = (0, _react.useRef)(null);
|
|
62
|
+
var controlsRef = (0, _react.useRef)(null);
|
|
63
|
+
var playerRef = (0, _react.useRef)();
|
|
64
|
+
|
|
65
|
+
var _useFullscreen = (0, _ahooks.useFullscreen)(wrapRef),
|
|
66
|
+
_useFullscreen2 = _slicedToArray(_useFullscreen, 2),
|
|
67
|
+
isFullscreen = _useFullscreen2[0],
|
|
68
|
+
toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
|
|
69
|
+
|
|
70
|
+
var _useSetState = (0, _ahooks.useSetState)({
|
|
71
|
+
play: false,
|
|
72
|
+
error: false,
|
|
73
|
+
loading: false,
|
|
74
|
+
id: 'vtx_hk_player_' + (0, _utils.guidGenerator)(),
|
|
75
|
+
volume: 0,
|
|
76
|
+
currentTime: 0,
|
|
77
|
+
progress: 0,
|
|
78
|
+
controls: {
|
|
79
|
+
progress: true
|
|
80
|
+
}
|
|
81
|
+
}),
|
|
82
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
83
|
+
state = _useSetState2[0],
|
|
84
|
+
setState = _useSetState2[1];
|
|
85
|
+
|
|
86
|
+
(0, _react.useImperativeHandle)(ref, function () {
|
|
87
|
+
return {
|
|
88
|
+
seekTo: function seekTo(time) {
|
|
89
|
+
var player = playerRef.current;
|
|
90
|
+
|
|
91
|
+
if (player) {
|
|
92
|
+
var currentTime = (0, _moment["default"])(time).diff((0, _moment["default"])(startTime), 'seconds');
|
|
93
|
+
return player.seekTo(currentTime);
|
|
94
|
+
} else {
|
|
95
|
+
return Promise.reject();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
});
|
|
100
|
+
(0, _react.useEffect)(function () {
|
|
101
|
+
var container = containerRef.current;
|
|
102
|
+
if (!url || !container) return;
|
|
103
|
+
var player = new _player["default"]({
|
|
104
|
+
url: url,
|
|
105
|
+
container: container,
|
|
106
|
+
live: false,
|
|
107
|
+
startTime: startTime,
|
|
108
|
+
endTime: endTime,
|
|
109
|
+
type: type
|
|
110
|
+
});
|
|
111
|
+
playerRef.current = player;
|
|
112
|
+
setState({
|
|
113
|
+
loading: true,
|
|
114
|
+
controls: {
|
|
115
|
+
progress: player.type === 'hk_ws'
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
console.log(player.type);
|
|
119
|
+
player.playBack().then(function () {
|
|
120
|
+
return setState({
|
|
121
|
+
play: true,
|
|
122
|
+
error: false
|
|
123
|
+
});
|
|
124
|
+
})["catch"](function () {
|
|
125
|
+
return setState({
|
|
126
|
+
error: true
|
|
127
|
+
});
|
|
128
|
+
})["finally"](function () {
|
|
129
|
+
return setState({
|
|
130
|
+
loading: false
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
player.onTimeUpdate(function (currentTime, speed) {
|
|
134
|
+
setState({
|
|
135
|
+
currentTime: currentTime,
|
|
136
|
+
progress: Math.floor(currentTime / totalTime * 100)
|
|
137
|
+
});
|
|
138
|
+
onTimeChange && onTimeChange((0, _moment["default"])(startTime).add(currentTime, 'seconds').format(_utils.TimeFormat.params), speed);
|
|
139
|
+
});
|
|
140
|
+
return function () {
|
|
141
|
+
player.destroy();
|
|
142
|
+
setState({
|
|
143
|
+
error: false,
|
|
144
|
+
loading: false,
|
|
145
|
+
play: false
|
|
146
|
+
});
|
|
147
|
+
};
|
|
148
|
+
}, [url, startTime, endTime]);
|
|
149
|
+
/** 截图方法 */
|
|
150
|
+
|
|
151
|
+
var handleCapture = function handleCapture(e) {
|
|
152
|
+
var player = playerRef.current;
|
|
153
|
+
player && player.capture(captureName);
|
|
154
|
+
e.stopPropagation();
|
|
155
|
+
};
|
|
156
|
+
/** 全屏方法 */
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
var handleFullScreen = function handleFullScreen(e) {
|
|
160
|
+
toggleFullscreen();
|
|
161
|
+
var player = playerRef.current;
|
|
162
|
+
player && player.resize();
|
|
163
|
+
e.stopPropagation();
|
|
164
|
+
};
|
|
165
|
+
/** 进度条控制器 */
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
var handleSlider = function handleSlider(value) {
|
|
169
|
+
var currentTime = Math.floor(totalTime * value / 100);
|
|
170
|
+
var player = playerRef.current;
|
|
171
|
+
setState({
|
|
172
|
+
progress: value
|
|
173
|
+
});
|
|
174
|
+
player === null || player === void 0 ? void 0 : player.seekTo(currentTime);
|
|
175
|
+
};
|
|
176
|
+
/** 暂停方法 */
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
var handlePause = function handlePause() {
|
|
180
|
+
var player = playerRef.current;
|
|
181
|
+
player === null || player === void 0 ? void 0 : player.pause(function () {
|
|
182
|
+
setState({
|
|
183
|
+
play: false
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
/** 恢复播放方法 */
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
var handleResume = function handleResume() {
|
|
191
|
+
var player = playerRef.current;
|
|
192
|
+
player === null || player === void 0 ? void 0 : player.resume(function () {
|
|
193
|
+
setState({
|
|
194
|
+
play: true
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
200
|
+
className: "vtx-history-player",
|
|
201
|
+
ref: wrapRef,
|
|
202
|
+
style: {
|
|
203
|
+
width: width,
|
|
204
|
+
height: height
|
|
205
|
+
}
|
|
206
|
+
}, {
|
|
207
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
208
|
+
ref: containerRef,
|
|
209
|
+
style: {
|
|
210
|
+
height: '100%',
|
|
211
|
+
width: '100%'
|
|
212
|
+
},
|
|
213
|
+
id: state.id
|
|
214
|
+
}), state.loading && (0, _jsxRuntime.jsx)(_controls.LoadingState, {}), (0, _jsxRuntime.jsx)(_controls.InfoPanel, {
|
|
215
|
+
showInfo: showInfo,
|
|
216
|
+
info: info
|
|
217
|
+
}), (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
218
|
+
className: "controls",
|
|
219
|
+
ref: controlsRef,
|
|
220
|
+
style: {
|
|
221
|
+
bottom: controlBottom
|
|
222
|
+
}
|
|
223
|
+
}, {
|
|
224
|
+
children: [state.play ? (0, _jsxRuntime.jsx)(_icons.PauseIcon, {
|
|
225
|
+
onClick: handlePause
|
|
226
|
+
}) : (0, _jsxRuntime.jsx)(_icons.PlayIcon, {
|
|
227
|
+
onClick: handleResume
|
|
228
|
+
}), (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
229
|
+
className: "time"
|
|
230
|
+
}, {
|
|
231
|
+
children: [(0, _jsxRuntime.jsx)("span", Object.assign({
|
|
232
|
+
className: "current"
|
|
233
|
+
}, {
|
|
234
|
+
children: (0, _utils.secondsToTime)(state.currentTime)
|
|
235
|
+
})), (0, _jsxRuntime.jsxs)("span", Object.assign({
|
|
236
|
+
className: "total"
|
|
237
|
+
}, {
|
|
238
|
+
children: ["/", (0, _utils.secondsToTime)(totalTime)]
|
|
239
|
+
}))]
|
|
240
|
+
})), (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
241
|
+
className: "slider"
|
|
242
|
+
}, {
|
|
243
|
+
children: (0, _jsxRuntime.jsx)(_slider["default"], {
|
|
244
|
+
disabled: !state.controls.progress,
|
|
245
|
+
tipFormatter: null,
|
|
246
|
+
onChange: handleSlider,
|
|
247
|
+
value: state.progress
|
|
248
|
+
})
|
|
249
|
+
})), (0, _jsxRuntime.jsxs)(_space["default"], Object.assign({
|
|
250
|
+
className: "right",
|
|
251
|
+
size: 12,
|
|
252
|
+
align: "center"
|
|
253
|
+
}, {
|
|
254
|
+
children: [(0, _jsxRuntime.jsx)(_controls.VolumeControl, {
|
|
255
|
+
player: playerRef.current,
|
|
256
|
+
defaultValue: 0,
|
|
257
|
+
container: controlsRef.current
|
|
258
|
+
}), (0, _jsxRuntime.jsx)(_controls.SpeedControl, {
|
|
259
|
+
player: playerRef.current,
|
|
260
|
+
container: controlsRef.current
|
|
261
|
+
}), (0, _jsxRuntime.jsx)(_icons.CaptureIcon, {
|
|
262
|
+
onClick: handleCapture
|
|
263
|
+
}), isFullscreen ? (0, _jsxRuntime.jsx)(_icons.ExitFullScreenIcon, {
|
|
264
|
+
onClick: handleFullScreen
|
|
265
|
+
}) : (0, _jsxRuntime.jsx)(_icons.FullScreenIcon, {
|
|
266
|
+
onClick: handleFullScreen
|
|
267
|
+
})]
|
|
268
|
+
}))]
|
|
269
|
+
}))]
|
|
270
|
+
}));
|
|
271
|
+
});
|
|
272
|
+
exports.HistoryPlayer = HistoryPlayer;
|
|
273
|
+
HistoryPlayer.displayName = 'HistoryPlayer';
|
|
274
|
+
var _default = HistoryPlayer;
|
|
275
|
+
exports["default"] = _default;
|
|
276
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["HistoryPlayer","forwardRef","props","ref","url","type","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","showInfo","info","totalTime","moment","diff","containerRef","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","controls","state","setState","useImperativeHandle","seekTo","time","player","current","Promise","reject","useEffect","container","Player","live","console","log","playBack","then","onTimeUpdate","speed","Math","floor","add","format","TimeFormat","params","destroy","handleCapture","e","capture","stopPropagation","handleFullScreen","resize","handleSlider","value","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","PauseIcon","onClick","PlayIcon","secondsToTime","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-player/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport Player from '../player';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Slider, Space } from 'antd';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '@/controls';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '@/icons';\nimport { TimeFormat, guidGenerator, secondsToTime } from '@/utils';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, type, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, showInfo = false, info = [], } = props;\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = 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 currentTime: 0,\n progress: 0,\n controls: {\n progress: true,\n },\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n },\n };\n });\n useEffect(() => {\n const container = containerRef.current;\n if (!url || !container)\n return;\n const player = new Player({ url, container, live: false, startTime, endTime, type });\n playerRef.current = player;\n setState({ loading: true, controls: { progress: player.type === 'hk_ws' } });\n console.log(player.type);\n player\n .playBack()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((currentTime, speed) => {\n setState({ currentTime, progress: Math.floor((currentTime / totalTime) * 100) });\n onTimeChange &&\n onTimeChange(moment(startTime).add(currentTime, 'seconds').format(TimeFormat.params), speed);\n });\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, startTime, endTime]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n /** 进度条控制器 */\n const handleSlider = (value) => {\n const currentTime = Math.floor((totalTime * value) / 100);\n const player = playerRef.current;\n setState({ progress: value });\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), _jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: secondsToTime(state.currentTime) })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", secondsToTime(totalTime)] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), _jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current }), _jsx(CaptureIcon, { onClick: handleCapture }), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","names":[],"sources":["history-player/style/index.js"],"sourcesContent":["import '../../controls/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
.vtx-history-player {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: -webkit-box;
|
|
4
|
+
display: -ms-flexbox;
|
|
5
|
+
display: flex;
|
|
6
|
+
-webkit-box-align: center;
|
|
7
|
+
-ms-flex-align: center;
|
|
8
|
+
align-items: center;
|
|
9
|
+
-webkit-box-pack: center;
|
|
10
|
+
-ms-flex-pack: center;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
background-color: #2b3d51;
|
|
13
|
+
border: 1px solid transparent;
|
|
14
|
+
}
|
|
15
|
+
.vtx-history-player .controls {
|
|
16
|
+
position: absolute;
|
|
17
|
+
bottom: 0;
|
|
18
|
+
display: -webkit-box;
|
|
19
|
+
display: -ms-flexbox;
|
|
20
|
+
display: flex;
|
|
21
|
+
-webkit-box-align: center;
|
|
22
|
+
-ms-flex-align: center;
|
|
23
|
+
align-items: center;
|
|
24
|
+
width: 100%;
|
|
25
|
+
height: 30px;
|
|
26
|
+
padding: 0 12px;
|
|
27
|
+
background-color: #131d27;
|
|
28
|
+
border-bottom: 1px solid #52c41a;
|
|
29
|
+
opacity: 0;
|
|
30
|
+
-webkit-transition: opacity 0.5s;
|
|
31
|
+
transition: opacity 0.5s;
|
|
32
|
+
}
|
|
33
|
+
.vtx-history-player .controls .time {
|
|
34
|
+
padding: 4px 12px;
|
|
35
|
+
margin: 0 12px;
|
|
36
|
+
background-color: rgba(145, 165, 185, 0.3);
|
|
37
|
+
}
|
|
38
|
+
.vtx-history-player .controls .time .current {
|
|
39
|
+
color: white;
|
|
40
|
+
}
|
|
41
|
+
.vtx-history-player .controls .time .total {
|
|
42
|
+
color: rgba(255, 255, 255, 0.85);
|
|
43
|
+
}
|
|
44
|
+
.vtx-history-player .controls .slider {
|
|
45
|
+
-webkit-box-flex: 1;
|
|
46
|
+
-ms-flex-positive: 1;
|
|
47
|
+
flex-grow: 1;
|
|
48
|
+
margin-right: 24px;
|
|
49
|
+
}
|
|
50
|
+
.vtx-history-player .controls .slider .ant-slider .ant-slider-rail {
|
|
51
|
+
background-color: #adb0b4;
|
|
52
|
+
}
|
|
53
|
+
.vtx-history-player .controls .right {
|
|
54
|
+
margin-left: auto;
|
|
55
|
+
}
|
|
56
|
+
.vtx-history-player .controls .right > div {
|
|
57
|
+
height: 24px;
|
|
58
|
+
}
|
|
59
|
+
.vtx-history-player:hover .controls {
|
|
60
|
+
opacity: 1;
|
|
61
|
+
}
|
|
62
|
+
.vtx-history-player video {
|
|
63
|
+
width: 100%;
|
|
64
|
+
height: 100%;
|
|
65
|
+
-o-object-fit: fill;
|
|
66
|
+
object-fit: fill;
|
|
67
|
+
}
|
|
68
|
+
.vtx-history-player .sub-wnd {
|
|
69
|
+
width: 100% !important;
|
|
70
|
+
height: 100% !important;
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
background-color: #2b3d51 !important;
|
|
73
|
+
border: 1px solid transparent !important;
|
|
74
|
+
}
|
|
75
|
+
.vtx-history-player .error-container {
|
|
76
|
+
position: absolute;
|
|
77
|
+
top: 50%;
|
|
78
|
+
left: 50%;
|
|
79
|
+
display: -webkit-box;
|
|
80
|
+
display: -ms-flexbox;
|
|
81
|
+
display: flex;
|
|
82
|
+
-webkit-box-orient: vertical;
|
|
83
|
+
-webkit-box-direction: normal;
|
|
84
|
+
-ms-flex-direction: column;
|
|
85
|
+
flex-direction: column;
|
|
86
|
+
-webkit-box-align: center;
|
|
87
|
+
-ms-flex-align: center;
|
|
88
|
+
align-items: center;
|
|
89
|
+
-webkit-transform: translate(-50%, -50%);
|
|
90
|
+
-ms-transform: translate(-50%, -50%);
|
|
91
|
+
transform: translate(-50%, -50%);
|
|
92
|
+
}
|
|
93
|
+
.vtx-history-player .error-container .text {
|
|
94
|
+
margin: 20px 0;
|
|
95
|
+
font-size: 14px;
|
|
96
|
+
color: rgba(255, 255, 255, 0.65);
|
|
97
|
+
}
|
|
98
|
+
.vtx-history-player .loading-container {
|
|
99
|
+
position: absolute;
|
|
100
|
+
top: 50%;
|
|
101
|
+
left: 50%;
|
|
102
|
+
-webkit-transform: translate(-50%, -50%);
|
|
103
|
+
-ms-transform: translate(-50%, -50%);
|
|
104
|
+
transform: translate(-50%, -50%);
|
|
105
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["history-player/style/index.js"],"sourcesContent":["import '../../controls/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
.vtx-history-player {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
background-color: #2b3d51;
|
|
7
|
+
border: 1px solid transparent;
|
|
8
|
+
|
|
9
|
+
.controls {
|
|
10
|
+
position: absolute;
|
|
11
|
+
bottom: 0;
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
width: 100%;
|
|
15
|
+
height: 30px;
|
|
16
|
+
padding: 0 12px;
|
|
17
|
+
background-color: #131d27;
|
|
18
|
+
border-bottom: 1px solid rgba(82, 196 ,26 , 1);
|
|
19
|
+
opacity: 0;
|
|
20
|
+
transition: opacity 0.5s;
|
|
21
|
+
|
|
22
|
+
.time {
|
|
23
|
+
padding: 4px 12px;
|
|
24
|
+
margin: 0 12px;
|
|
25
|
+
background-color: rgba(145 ,165, 185 , 0.3);
|
|
26
|
+
|
|
27
|
+
.current {
|
|
28
|
+
color: white;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.total {
|
|
32
|
+
color: rgba(255, 255 ,255 , .85);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.slider {
|
|
37
|
+
flex-grow: 1;
|
|
38
|
+
margin-right: 24px;
|
|
39
|
+
|
|
40
|
+
.ant-slider {
|
|
41
|
+
.ant-slider-rail {
|
|
42
|
+
background-color: rgba(173, 176, 180,1);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.right {
|
|
48
|
+
margin-left: auto;
|
|
49
|
+
|
|
50
|
+
> div {
|
|
51
|
+
height: 24px;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&:hover {
|
|
57
|
+
.controls {
|
|
58
|
+
opacity: 1;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
video {
|
|
63
|
+
width: 100%;
|
|
64
|
+
height: 100%;
|
|
65
|
+
object-fit: fill;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.sub-wnd {
|
|
69
|
+
width: 100% !important;
|
|
70
|
+
height: 100% !important;
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
background-color: #2b3d51 !important;
|
|
73
|
+
border: 1px solid transparent !important;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.error-container {
|
|
77
|
+
position: absolute;
|
|
78
|
+
top: 50%;
|
|
79
|
+
left: 50%;
|
|
80
|
+
display: flex;
|
|
81
|
+
flex-direction: column;
|
|
82
|
+
align-items: center;
|
|
83
|
+
transform: translate(-50%, -50%);
|
|
84
|
+
|
|
85
|
+
.text {
|
|
86
|
+
margin: 20px 0;
|
|
87
|
+
font-size: 14px;
|
|
88
|
+
color:rgba(255, 255 ,255 , .65);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.loading-container {
|
|
93
|
+
position: absolute;
|
|
94
|
+
top: 50%;
|
|
95
|
+
left: 50%;
|
|
96
|
+
transform: translate(-50%, -50%);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var _context = require("../context");
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 获取配置信息
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
var useSettings = function useSettings() {
|
|
17
|
+
var _useContext = (0, _react.useContext)(_context.PlayerThemeContext),
|
|
18
|
+
theme = _useContext.theme;
|
|
19
|
+
|
|
20
|
+
return {
|
|
21
|
+
theme: theme,
|
|
22
|
+
isDark: theme === 'light'
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var _default = useSettings;
|
|
27
|
+
exports["default"] = _default;
|
|
28
|
+
//# sourceMappingURL=useSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSettings.js","names":["useSettings","useContext","PlayerThemeContext","theme","isDark"],"sources":["hooks/useSettings.js"],"sourcesContent":["import { useContext } from 'react';\nimport { PlayerThemeContext } from '../context';\n/**\n * 获取配置信息\n * @returns\n */\nconst useSettings = () => {\n const { theme } = useContext(PlayerThemeContext);\n return { theme, isDark: theme === 'light' };\n};\nexport default useSettings;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;AACA;AACA;AACA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,GAAM;EACtB,kBAAkB,IAAAC,iBAAA,EAAWC,2BAAX,CAAlB;EAAA,IAAQC,KAAR,eAAQA,KAAR;;EACA,OAAO;IAAEA,KAAK,EAALA,KAAF;IAASC,MAAM,EAAED,KAAK,KAAK;EAA3B,CAAP;AACH,CAHD;;eAIeH,W"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.control-icon {
|
|
2
|
+
cursor: pointer;
|
|
3
|
+
fill: rgba(255, 255, 255, 0.65);
|
|
4
|
+
}
|
|
5
|
+
.control-icon > svg {
|
|
6
|
+
-webkit-transition: fill 0.3s;
|
|
7
|
+
transition: fill 0.3s;
|
|
8
|
+
}
|
|
9
|
+
.control-icon:hover {
|
|
10
|
+
fill: #40a9ff;
|
|
11
|
+
}
|
|
12
|
+
.control-icon.active {
|
|
13
|
+
fill: #1890ff;
|
|
14
|
+
}
|
|
15
|
+
.close-icon {
|
|
16
|
+
width: 14px;
|
|
17
|
+
cursor: pointer;
|
|
18
|
+
fill: rgba(255, 255, 255, 0.65);
|
|
19
|
+
-webkit-transition: -webkit-transform 0.3s;
|
|
20
|
+
transition: -webkit-transform 0.3s;
|
|
21
|
+
transition: transform 0.3s;
|
|
22
|
+
transition: transform 0.3s, -webkit-transform 0.3s;
|
|
23
|
+
}
|
|
24
|
+
.close-icon:hover {
|
|
25
|
+
-webkit-transform: rotate(180deg);
|
|
26
|
+
-ms-transform: rotate(180deg);
|
|
27
|
+
transform: rotate(180deg);
|
|
28
|
+
}
|
|
File without changes
|