@vtx/player 1.7.13 → 1.7.14
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/README.md +2 -2
- package/lib/api/fetch.js +62 -91
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +18 -63
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -5
- package/lib/bd/PlayerManager.js +38 -68
- package/lib/bd/PlayerManager.js.map +1 -1
- package/lib/bill-player/index.d.ts +1 -1
- package/lib/bill-player/index.js +66 -121
- package/lib/bill-player/index.js.map +1 -1
- package/lib/bill-player/style/css.js +0 -9
- package/lib/bill-player/style/css.js.map +1 -1
- package/lib/bill-player/style/index.js +0 -9
- package/lib/bill-player/style/index.js.map +1 -1
- package/lib/bill-player/style/index.less +297 -297
- package/lib/components/set-tag-video/index.js +6 -34
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/set-tag-video/style/css.js.map +1 -1
- package/lib/components/set-tag-video/style/index.js.map +1 -1
- package/lib/components/set-tag-video/style/index.less +125 -125
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +3 -14
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/split-screen/style/css.js.map +1 -1
- package/lib/components/split-screen/style/index.js.map +1 -1
- package/lib/components/tag-video/index.js +10 -38
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/tag-video/style/css.js.map +1 -1
- package/lib/components/tag-video/style/index.js.map +1 -1
- package/lib/components/tag-video/style/index.less +69 -69
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +2 -9
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/components/video-scale/style/css.js.map +1 -1
- package/lib/components/video-scale/style/index.js.map +1 -1
- package/lib/context/index.js +0 -4
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +11 -11
- package/lib/controls/index.js +34 -99
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/css.js +0 -5
- package/lib/controls/style/css.js.map +1 -1
- package/lib/controls/style/index.js +0 -5
- package/lib/controls/style/index.js.map +1 -1
- package/lib/controls/style/index.less +188 -188
- package/lib/h264/PlayerManager.js +18 -27
- package/lib/h264/PlayerManager.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +61 -121
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/css.js +0 -6
- package/lib/history-control/style/css.js.map +1 -1
- package/lib/history-control/style/index.js +0 -6
- package/lib/history-control/style/index.js.map +1 -1
- package/lib/history-control/style/index.less +252 -252
- package/lib/history-control-v2/components/grid-item/index.js +38 -77
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +44 -114
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +0 -2
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +97 -166
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/style/css.js +0 -10
- package/lib/history-control-v2/style/css.js.map +1 -1
- package/lib/history-control-v2/style/index.js +0 -10
- package/lib/history-control-v2/style/index.js.map +1 -1
- package/lib/history-control-v2/style/index.less +437 -437
- package/lib/history-control-v2/utils.js +1 -21
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +1 -1
- package/lib/history-player/index.js +146 -205
- package/lib/history-player/index.js.map +1 -1
- package/lib/history-player/style/css.js +0 -3
- package/lib/history-player/style/css.js.map +1 -1
- package/lib/history-player/style/index.js +0 -3
- package/lib/history-player/style/index.js.map +1 -1
- package/lib/history-player/style/index.less +102 -102
- package/lib/hooks/useSettings.js +1 -6
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/icc/PlayerManager.js +26 -57
- package/lib/icc/PlayerManager.js.map +1 -1
- package/lib/icc/api.d.ts +0 -68
- package/lib/icc/api.js +2 -16
- package/lib/icc/api.js.map +1 -1
- package/lib/icons/index.d.ts +36 -36
- package/lib/icons/index.js +23 -171
- package/lib/icons/index.js.map +1 -1
- package/lib/icons/index.less +32 -32
- package/lib/index.js +0 -10
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.d.ts +1 -1
- package/lib/live-channel-player/index.js +31 -67
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-channel-player/style/css.js +0 -1
- package/lib/live-channel-player/style/css.js.map +1 -1
- package/lib/live-channel-player/style/index.js +0 -1
- package/lib/live-channel-player/style/index.js.map +1 -1
- package/lib/live-control/index.d.ts +2 -2
- package/lib/live-control/index.js +35 -86
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control/style/css.js +0 -4
- package/lib/live-control/style/css.js.map +1 -1
- package/lib/live-control/style/index.js +0 -4
- package/lib/live-control/style/index.js.map +1 -1
- package/lib/live-control/style/index.less +99 -99
- package/lib/live-control-v2/index.d.ts +3 -3
- package/lib/live-control-v2/index.js +108 -141
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-control-v2/style/css.js +0 -7
- package/lib/live-control-v2/style/css.js.map +1 -1
- package/lib/live-control-v2/style/index.js +0 -7
- package/lib/live-control-v2/style/index.js.map +1 -1
- package/lib/live-control-v2/style/index.less +192 -192
- package/lib/live-player/index.js +95 -136
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player/style/css.js +0 -2
- package/lib/live-player/style/css.js.map +1 -1
- package/lib/live-player/style/index.js +0 -2
- package/lib/live-player/style/index.js.map +1 -1
- package/lib/live-player/style/index.less +75 -75
- package/lib/player/index.d.ts +1 -1
- package/lib/player/index.js +79 -244
- package/lib/player/index.js.map +1 -1
- package/lib/rsl/PlayerManager.js +18 -64
- package/lib/rsl/PlayerManager.js.map +1 -1
- package/lib/typings/@vtx/utils/index.d.ts +28 -28
- package/lib/typings/h5player.d.ts +146 -146
- package/lib/typings/webrtcplayer.d.ts +56 -56
- package/lib/typings/wsplayer.d.ts +99 -99
- package/lib/utils/index.d.ts +1 -1
- package/lib/utils/index.js +12 -91
- package/lib/utils/index.js.map +1 -1
- package/lib/vite-env.d.ts +1 -1
- package/lib/vtxHls/PlayerManager.js +6 -20
- package/lib/vtxHls/PlayerManager.js.map +1 -1
- package/lib/vtxHls/WhepManager.js +9 -72
- package/lib/vtxHls/WhepManager.js.map +1 -1
- package/lib/webrtc/PlayerManager.js +28 -41
- package/lib/webrtc/PlayerManager.js.map +1 -1
- package/package.json +125 -125
|
@@ -4,53 +4,29 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
-
|
|
10
8
|
var _react = require("react");
|
|
11
|
-
|
|
12
9
|
var _api = require("../api");
|
|
13
|
-
|
|
14
10
|
var _splitScreen = _interopRequireDefault(require("../components/split-screen"));
|
|
15
|
-
|
|
16
11
|
var _videoScale = _interopRequireDefault(require("../components/video-scale"));
|
|
17
|
-
|
|
18
12
|
var _controls = require("../controls");
|
|
19
|
-
|
|
20
13
|
var _icons = require("../icons");
|
|
21
|
-
|
|
22
14
|
var _livePlayer = _interopRequireDefault(require("../live-player"));
|
|
23
|
-
|
|
24
15
|
var _utils = require("../utils");
|
|
25
|
-
|
|
26
16
|
var _icons2 = require("@ant-design/icons");
|
|
27
|
-
|
|
28
17
|
var _ahooks = require("ahooks");
|
|
29
|
-
|
|
30
18
|
var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
31
|
-
|
|
32
19
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
33
|
-
|
|
34
20
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
35
|
-
|
|
36
21
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
37
|
-
|
|
38
22
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
39
|
-
|
|
40
23
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
41
|
-
|
|
42
24
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
43
|
-
|
|
44
25
|
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."); }
|
|
45
|
-
|
|
46
26
|
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); }
|
|
47
|
-
|
|
48
|
-
function
|
|
49
|
-
|
|
50
|
-
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; }
|
|
51
|
-
|
|
27
|
+
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; }
|
|
28
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
52
29
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
53
|
-
|
|
54
30
|
var DEFAULT_GRID = 4;
|
|
55
31
|
var DEFAULT_ACTIVE = 0;
|
|
56
32
|
var DEFAULT_CHANNELS = Array(25).fill({
|
|
@@ -60,45 +36,42 @@ var DEFAULT_CHANNELS = Array(25).fill({
|
|
|
60
36
|
/**
|
|
61
37
|
* 实时分屏组件
|
|
62
38
|
*/
|
|
63
|
-
|
|
64
39
|
var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
65
40
|
var _props$height = props.height,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
41
|
+
height = _props$height === void 0 ? '100%' : _props$height,
|
|
42
|
+
_props$width = props.width,
|
|
43
|
+
width = _props$width === void 0 ? '100%' : _props$width,
|
|
44
|
+
onExpandChange = props.onExpandChange,
|
|
45
|
+
onPlayingChannelChange = props.onPlayingChannelChange,
|
|
46
|
+
onVideoClose = props.onVideoClose,
|
|
47
|
+
onVideoCloseAll = props.onVideoCloseAll,
|
|
48
|
+
onCloseVideoInRotation = props.onCloseVideoInRotation,
|
|
49
|
+
extraDom = props.extraDom,
|
|
50
|
+
_props$gridChange = props.gridChange,
|
|
51
|
+
gridChange = _props$gridChange === void 0 ? true : _props$gridChange,
|
|
52
|
+
onScreenshot = props.onScreenshot,
|
|
53
|
+
scale = props.scale,
|
|
54
|
+
defaultGrid = props.defaultGrid;
|
|
81
55
|
var _useSetState = (0, _ahooks.useSetState)({
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
56
|
+
expand: true,
|
|
57
|
+
grid: defaultGrid || DEFAULT_GRID,
|
|
58
|
+
activeIndex: DEFAULT_ACTIVE,
|
|
59
|
+
channels: DEFAULT_CHANNELS,
|
|
60
|
+
scale: scale || '100%'
|
|
61
|
+
}),
|
|
62
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
63
|
+
state = _useSetState2[0],
|
|
64
|
+
setState = _useSetState2[1];
|
|
65
|
+
var dragRef = (0, _react.useRef)(null);
|
|
92
66
|
var playRefs = (0, _react.useRef)({});
|
|
93
67
|
var wrapRef = (0, _react.useRef)(null);
|
|
94
68
|
var latestGrid = (0, _react.useRef)(defaultGrid || DEFAULT_GRID);
|
|
95
|
-
|
|
96
69
|
var _useFullscreen = (0, _ahooks.useFullscreen)(wrapRef),
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
70
|
+
_useFullscreen2 = _slicedToArray(_useFullscreen, 2),
|
|
71
|
+
isFullscreen = _useFullscreen2[0],
|
|
72
|
+
toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
|
|
73
|
+
var channelRef = (0, _react.useRef)(DEFAULT_CHANNELS);
|
|
74
|
+
// 实时视频轮询
|
|
102
75
|
// useInterval(() => {
|
|
103
76
|
// // 是否有视频正在播放
|
|
104
77
|
// const hasVideo = channelRef.current.some((item) => item.channelNum);
|
|
@@ -112,7 +85,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
112
85
|
// }, 0);
|
|
113
86
|
// }
|
|
114
87
|
// }, polling);
|
|
115
|
-
|
|
116
88
|
(0, _react.useImperativeHandle)(ref, function () {
|
|
117
89
|
return {
|
|
118
90
|
setGrid: function setGrid(grid) {
|
|
@@ -122,7 +94,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
122
94
|
var index = channelRef.current.findIndex(function (c) {
|
|
123
95
|
return c.channelId && channel.channelId && c.channelId === channel.channelId;
|
|
124
96
|
});
|
|
125
|
-
|
|
126
97
|
if (~index) {
|
|
127
98
|
setState({
|
|
128
99
|
activeIndex: index
|
|
@@ -130,7 +101,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
130
101
|
} else {
|
|
131
102
|
// 播放该通道
|
|
132
103
|
var newChannels = _toConsumableArray(channelRef.current);
|
|
133
|
-
|
|
134
104
|
newChannels[state.activeIndex] = channel;
|
|
135
105
|
var activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);
|
|
136
106
|
channelRef.current = newChannels;
|
|
@@ -145,11 +115,10 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
145
115
|
var adapt = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
146
116
|
var grid = latestGrid.current;
|
|
147
117
|
var newChannels = [],
|
|
148
|
-
|
|
149
|
-
|
|
118
|
+
activeIndex = state.activeIndex;
|
|
119
|
+
// 每次清空已经在播放的视频
|
|
150
120
|
if (init) {
|
|
151
121
|
adapt && (grid = getGrid(channels.length));
|
|
152
|
-
|
|
153
122
|
for (var i = 0; i < Number(grid); i++) {
|
|
154
123
|
newChannels.push(channels[i] ? channels[i] : {
|
|
155
124
|
channelNum: '',
|
|
@@ -164,30 +133,26 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
164
133
|
adapt && (grid = getGrid(channelLength));
|
|
165
134
|
newChannels = _toConsumableArray(new Array(grid)).map(function (item, index) {
|
|
166
135
|
var _a, _b;
|
|
167
|
-
|
|
168
136
|
if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) || ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {
|
|
169
137
|
return channelRef.current[index];
|
|
170
138
|
}
|
|
171
|
-
|
|
172
139
|
return {
|
|
173
140
|
channelNum: '',
|
|
174
141
|
channelId: ''
|
|
175
142
|
};
|
|
176
143
|
});
|
|
177
|
-
|
|
178
144
|
var _loop = function _loop(_i2) {
|
|
179
145
|
var isRepeat = newChannels.find(function (item) {
|
|
180
146
|
var _a, _b;
|
|
181
|
-
|
|
182
147
|
return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[_i2]) === null || _a === void 0 ? void 0 : _a.channelNum) || (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[_i2]) === null || _b === void 0 ? void 0 : _b.channelId);
|
|
183
|
-
});
|
|
184
|
-
|
|
148
|
+
});
|
|
149
|
+
// 如果之前在播放,则不需重复打开新窗口
|
|
185
150
|
if (!isRepeat) {
|
|
186
|
-
var index = getActiveIndex(newChannels, grid, activeIndex);
|
|
151
|
+
var index = getActiveIndex(newChannels, grid, activeIndex);
|
|
152
|
+
// 如果相等,说明没有空闲窗口
|
|
187
153
|
// if (index === activeIndex) {
|
|
188
154
|
// break;
|
|
189
155
|
// }
|
|
190
|
-
|
|
191
156
|
if (activeIndex === grid) return "break";
|
|
192
157
|
newChannels[index] = channels[_i2] || {
|
|
193
158
|
channelNum: '',
|
|
@@ -196,14 +161,11 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
196
161
|
activeIndex = index + 1;
|
|
197
162
|
}
|
|
198
163
|
};
|
|
199
|
-
|
|
200
164
|
for (var _i2 = 0; _i2 < channels.length; _i2++) {
|
|
201
165
|
var _ret = _loop(_i2);
|
|
202
|
-
|
|
203
166
|
if (_ret === "break") break;
|
|
204
167
|
}
|
|
205
168
|
}
|
|
206
|
-
|
|
207
169
|
latestGrid.current = grid;
|
|
208
170
|
channelRef.current = newChannels;
|
|
209
171
|
setState({
|
|
@@ -216,11 +178,9 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
216
178
|
var index = channelRef.current.findIndex(function (c) {
|
|
217
179
|
return c.channelId === channelId;
|
|
218
180
|
});
|
|
219
|
-
|
|
220
181
|
if (~index) {
|
|
221
182
|
// 卸载通道
|
|
222
183
|
var newChannels = _toConsumableArray(channelRef.current);
|
|
223
|
-
|
|
224
184
|
newChannels[index] = {
|
|
225
185
|
channelNum: '',
|
|
226
186
|
channelId: ''
|
|
@@ -238,7 +198,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
238
198
|
}));
|
|
239
199
|
}
|
|
240
200
|
}, [state.channels]);
|
|
241
|
-
|
|
242
201
|
var handleCloseAll = function handleCloseAll() {
|
|
243
202
|
setState({
|
|
244
203
|
activeIndex: DEFAULT_ACTIVE
|
|
@@ -247,17 +206,14 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
247
206
|
updateChannels(DEFAULT_CHANNELS);
|
|
248
207
|
onVideoCloseAll && onVideoCloseAll();
|
|
249
208
|
};
|
|
250
|
-
|
|
251
209
|
var handleExpand = function handleExpand() {
|
|
252
210
|
onExpandChange && onExpandChange(!state.expand);
|
|
253
211
|
setState({
|
|
254
212
|
expand: !state.expand
|
|
255
213
|
});
|
|
256
214
|
};
|
|
257
|
-
|
|
258
215
|
var updateGrid = function updateGrid(grid) {
|
|
259
216
|
var newChannels = _toConsumableArray(channelRef.current);
|
|
260
|
-
|
|
261
217
|
if (grid > newChannels.length) {
|
|
262
218
|
newChannels = DEFAULT_CHANNELS.slice(0, grid).map(function (item, index) {
|
|
263
219
|
return newChannels[index] ? newChannels[index] : item;
|
|
@@ -265,26 +221,23 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
265
221
|
} else {
|
|
266
222
|
newChannels = newChannels.slice(0, grid);
|
|
267
223
|
}
|
|
268
|
-
|
|
269
224
|
latestGrid.current = grid;
|
|
270
225
|
channelRef.current = newChannels;
|
|
271
226
|
setState({
|
|
272
227
|
grid: grid,
|
|
273
228
|
channels: newChannels
|
|
274
|
-
});
|
|
275
|
-
|
|
229
|
+
});
|
|
230
|
+
// 重置视频大小
|
|
276
231
|
resizeAll();
|
|
277
232
|
};
|
|
278
|
-
|
|
279
233
|
var updateScale = function updateScale(scale) {
|
|
280
234
|
setState({
|
|
281
235
|
scale: scale
|
|
282
|
-
});
|
|
283
|
-
|
|
236
|
+
});
|
|
237
|
+
// 重置视频大小
|
|
284
238
|
resizeAll();
|
|
285
|
-
};
|
|
286
|
-
|
|
287
|
-
|
|
239
|
+
};
|
|
240
|
+
// 重置所有视频大小
|
|
288
241
|
var resizeAll = function resizeAll() {
|
|
289
242
|
var timer = setTimeout(function () {
|
|
290
243
|
Object.values(playRefs.current).forEach(function (player) {
|
|
@@ -293,20 +246,16 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
293
246
|
clearTimeout(timer);
|
|
294
247
|
}, 100);
|
|
295
248
|
};
|
|
296
|
-
|
|
297
249
|
var updateChannels = function updateChannels(channels) {
|
|
298
250
|
channelRef.current = channels;
|
|
299
251
|
setState({
|
|
300
252
|
channels: channels
|
|
301
253
|
});
|
|
302
|
-
};
|
|
303
|
-
|
|
304
|
-
|
|
254
|
+
};
|
|
255
|
+
// 关闭视频
|
|
305
256
|
var closeVideo = function closeVideo(i) {
|
|
306
257
|
var currChannels = _toConsumableArray(channelRef.current);
|
|
307
|
-
|
|
308
258
|
var newChannels = _toConsumableArray(channelRef.current);
|
|
309
|
-
|
|
310
259
|
newChannels[i] = {
|
|
311
260
|
channelNum: '',
|
|
312
261
|
channelId: ''
|
|
@@ -314,10 +263,8 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
314
263
|
updateChannels(newChannels);
|
|
315
264
|
onVideoClose && onVideoClose(currChannels[i], newChannels);
|
|
316
265
|
};
|
|
317
|
-
|
|
318
266
|
var getGridItems = function getGridItems() {
|
|
319
267
|
var items = [];
|
|
320
|
-
|
|
321
268
|
var _loop2 = function _loop2(i) {
|
|
322
269
|
var element = (0, _jsxRuntime.jsx)(GridItem, {
|
|
323
270
|
ref: function ref(_ref) {
|
|
@@ -341,7 +288,6 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
341
288
|
});
|
|
342
289
|
return;
|
|
343
290
|
}
|
|
344
|
-
|
|
345
291
|
closeVideo(i);
|
|
346
292
|
},
|
|
347
293
|
scale: state.scale,
|
|
@@ -349,14 +295,28 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
349
295
|
}, i);
|
|
350
296
|
items.push(element);
|
|
351
297
|
};
|
|
352
|
-
|
|
353
298
|
for (var i = 0; i < Number(latestGrid.current); i++) {
|
|
354
299
|
_loop2(i);
|
|
355
300
|
}
|
|
356
|
-
|
|
357
301
|
return items;
|
|
358
302
|
};
|
|
359
|
-
|
|
303
|
+
function _index(el) {
|
|
304
|
+
var index = 0;
|
|
305
|
+
if (!el || !el.parentNode) {
|
|
306
|
+
return -1;
|
|
307
|
+
}
|
|
308
|
+
// previousElementSibling:上一个兄弟元素
|
|
309
|
+
while (el && (el = el.previousElementSibling)) {
|
|
310
|
+
index++;
|
|
311
|
+
}
|
|
312
|
+
return index;
|
|
313
|
+
}
|
|
314
|
+
function findParent(el, className) {
|
|
315
|
+
if (el.className && typeof el.className == 'string' && el.className.indexOf(className) > -1) {
|
|
316
|
+
return el;
|
|
317
|
+
}
|
|
318
|
+
return findParent(el.parentNode, className);
|
|
319
|
+
}
|
|
360
320
|
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
361
321
|
className: "vtx-live-control-v2",
|
|
362
322
|
ref: wrapRef,
|
|
@@ -366,7 +326,32 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
366
326
|
}
|
|
367
327
|
}, {
|
|
368
328
|
children: [(0, _jsxRuntime.jsx)("div", Object.assign({
|
|
369
|
-
className: "player-grid-container _".concat(state.grid)
|
|
329
|
+
className: "player-grid-container _".concat(state.grid),
|
|
330
|
+
onDragStart: function onDragStart(e) {
|
|
331
|
+
dragRef.current = e.target;
|
|
332
|
+
},
|
|
333
|
+
onDragOver: function onDragOver(e) {
|
|
334
|
+
if (!e.target) {
|
|
335
|
+
return;
|
|
336
|
+
}
|
|
337
|
+
var target = e.target;
|
|
338
|
+
if (target == null) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
target = findParent(target, 'grid-item-container');
|
|
342
|
+
var indexDraging = _index(dragRef.current),
|
|
343
|
+
indexTarget = _index(target);
|
|
344
|
+
try {
|
|
345
|
+
if (indexDraging < indexTarget) {
|
|
346
|
+
// 目标比元素大,插到其后面
|
|
347
|
+
// extSibling下一个兄弟元素
|
|
348
|
+
target.parentNode.insertBefore(dragRef.current, target.nextSibling);
|
|
349
|
+
} else if (indexDraging > indexTarget) {
|
|
350
|
+
// 目标比元素小,插到其前面
|
|
351
|
+
target.parentNode.insertBefore(dragRef.current, target);
|
|
352
|
+
}
|
|
353
|
+
} catch (e) {}
|
|
354
|
+
}
|
|
370
355
|
}, {
|
|
371
356
|
children: getGridItems()
|
|
372
357
|
})), (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
@@ -444,23 +429,21 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
444
429
|
LiveControlV2.displayName = 'LiveControlV2';
|
|
445
430
|
var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
446
431
|
var active = props.active,
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
432
|
+
onClick = props.onClick,
|
|
433
|
+
channel = props.channel,
|
|
434
|
+
onClose = props.onClose,
|
|
435
|
+
onScreenshot = props.onScreenshot,
|
|
436
|
+
scale = props.scale;
|
|
452
437
|
var empty = !channel.channelNum && !channel.channelId;
|
|
453
|
-
|
|
454
438
|
var _useState = (0, _react.useState)({}),
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
439
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
440
|
+
actData = _useState2[0],
|
|
441
|
+
setActData = _useState2[1];
|
|
442
|
+
var loading = false;
|
|
443
|
+
// const { data, loading } = useRequest(() => getPreviewUrl(channel as Required<ChannelType>), {
|
|
460
444
|
// ready: !!channel.channelNum || !!channel.channelId,
|
|
461
445
|
// refreshDeps: [channel.channelNum, channel.channelId],
|
|
462
446
|
// });
|
|
463
|
-
|
|
464
447
|
(0, _react.useEffect)(function () {
|
|
465
448
|
if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {
|
|
466
449
|
(0, _api.getPreviewUrl)(channel).then(function (res) {
|
|
@@ -471,17 +454,15 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
471
454
|
}
|
|
472
455
|
}, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);
|
|
473
456
|
var name = "".concat(actData === null || actData === void 0 ? void 0 : actData.deviceName, "-").concat(actData === null || actData === void 0 ? void 0 : actData.channelName);
|
|
474
|
-
|
|
475
457
|
var _useSetState3 = (0, _ahooks.useSetState)({
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
458
|
+
width: '100%',
|
|
459
|
+
height: '100%'
|
|
460
|
+
}),
|
|
461
|
+
_useSetState4 = _slicedToArray(_useSetState3, 2),
|
|
462
|
+
_useSetState4$ = _useSetState4[0],
|
|
463
|
+
width = _useSetState4$.width,
|
|
464
|
+
height = _useSetState4$.height,
|
|
465
|
+
setState = _useSetState4[1];
|
|
485
466
|
var gridItemRef = (0, _react.useRef)(null);
|
|
486
467
|
var gridItemSize = (0, _ahooks.useSize)(gridItemRef);
|
|
487
468
|
(0, _react.useEffect)(function () {
|
|
@@ -493,7 +474,6 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
493
474
|
height: gridItemSize.height - 26
|
|
494
475
|
});
|
|
495
476
|
break;
|
|
496
|
-
|
|
497
477
|
case '4*3':
|
|
498
478
|
if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {
|
|
499
479
|
setState({
|
|
@@ -506,9 +486,7 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
506
486
|
height: '100%'
|
|
507
487
|
});
|
|
508
488
|
}
|
|
509
|
-
|
|
510
489
|
break;
|
|
511
|
-
|
|
512
490
|
case '16*9':
|
|
513
491
|
if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {
|
|
514
492
|
setState({
|
|
@@ -521,12 +499,10 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
521
499
|
height: '100%'
|
|
522
500
|
});
|
|
523
501
|
}
|
|
524
|
-
|
|
525
502
|
break;
|
|
526
503
|
}
|
|
527
504
|
}
|
|
528
505
|
}, [gridItemSize, scale]);
|
|
529
|
-
|
|
530
506
|
var handlePtzType = function handlePtzType(type) {
|
|
531
507
|
var types = {
|
|
532
508
|
1: 'all',
|
|
@@ -536,11 +512,11 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
536
512
|
};
|
|
537
513
|
return types[type];
|
|
538
514
|
};
|
|
539
|
-
|
|
540
515
|
return (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
541
516
|
className: "grid-item-container ".concat(active ? 'active' : '', " ").concat(loading ? '' : 'emptyImg'),
|
|
542
517
|
onClick: onClick,
|
|
543
|
-
ref: gridItemRef
|
|
518
|
+
ref: gridItemRef,
|
|
519
|
+
draggable: true
|
|
544
520
|
}, {
|
|
545
521
|
children: (actData === null || actData === void 0 ? void 0 : actData.url) && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
546
522
|
children: [!empty && (0, _jsxRuntime.jsx)(_controls.PlayerHeader, {
|
|
@@ -599,40 +575,31 @@ GridItem.displayName = 'grid-item';
|
|
|
599
575
|
* @param currentIndex 当前索引
|
|
600
576
|
* @returns
|
|
601
577
|
*/
|
|
602
|
-
|
|
603
578
|
var getActiveIndex = function getActiveIndex(channels, grid, currentIndex) {
|
|
604
579
|
var currentChannels = channels.slice(0, Number(grid));
|
|
605
|
-
|
|
606
580
|
for (var i = currentIndex; i < currentChannels.length; i++) {
|
|
607
581
|
if (!currentChannels[i].channelNum && !currentChannels[i].channelId) return i;
|
|
608
582
|
}
|
|
609
|
-
|
|
610
583
|
for (var _i3 = 0; _i3 < currentIndex; _i3++) {
|
|
611
584
|
if (!currentChannels[_i3].channelNum && !currentChannels[_i3].channelId) return _i3;
|
|
612
585
|
}
|
|
613
|
-
|
|
614
586
|
return currentIndex;
|
|
615
587
|
};
|
|
616
|
-
|
|
617
588
|
var grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];
|
|
618
589
|
/**
|
|
619
590
|
* 获取布局
|
|
620
591
|
* @param len 通道数量
|
|
621
592
|
*/
|
|
622
|
-
|
|
623
593
|
var getGrid = function getGrid(len) {
|
|
624
594
|
var grid;
|
|
625
|
-
|
|
626
595
|
for (var i = 0; i < grids.length; i++) {
|
|
627
596
|
if (grids[i] - len >= 0) {
|
|
628
597
|
grid = grids[i];
|
|
629
598
|
break;
|
|
630
599
|
}
|
|
631
600
|
}
|
|
632
|
-
|
|
633
601
|
return grid > 25 ? 25 : grid;
|
|
634
602
|
};
|
|
635
|
-
|
|
636
603
|
var _default = LiveControlV2;
|
|
637
604
|
exports["default"] = _default;
|
|
638
605
|
//# sourceMappingURL=index.js.map
|