@cloud-app-dev/vidc 3.0.3 → 3.0.6
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/.umirc.ts +12 -7
- package/es/DisableMark/index.css +9 -0
- package/es/DisableMark/index.d.ts +8 -0
- package/es/DisableMark/index.js +10 -0
- package/es/Drawer/index.css +1 -0
- package/es/Map/AMap.d.ts +6841 -1308
- package/es/Map/BasicMap/AMapInstance.d.ts +4 -3
- package/es/Map/BasicMap/AMapInstance.js +18 -3
- package/es/Map/BasicMap/LeafletInstance.d.ts +3 -3
- package/es/Map/ClusterLayer/hook.d.ts +4 -4
- package/es/Map/ClusterLayer/hook.js +20 -24
- package/es/Map/ClusterLayer/index.d.ts +1 -0
- package/es/Map/ClusterLayer/index.js +1 -0
- package/es/Map/Config/utils.js +2 -2
- package/es/Map/InfoWindow/MakerLikeWindow.d.ts +4 -0
- package/es/Map/InfoWindow/MakerLikeWindow.js +103 -0
- package/es/Map/InfoWindow/demo.js +48 -21
- package/es/Map/InfoWindow/index.d.ts +7 -5
- package/es/Map/InfoWindow/index.js +7 -6
- package/es/Map/interface.d.ts +1 -1
- package/es/Map/useMarker/index.d.ts +2 -2
- package/es/Map/useMarker/index.js +3 -19
- package/es/Player/api/index.js +0 -1
- package/es/Player/demo.js +4 -3
- package/es/Player/event/errorEvent.js +3 -8
- package/es/Player/iconfont.d.ts +1 -1
- package/es/Player/iconfont.js +1 -1
- package/es/Player/live_heart.js +7 -32
- package/es/Player/single_player.js +6 -1
- package/es/Player/style/iconfont.ttf +0 -0
- package/es/Player/style/iconfont.woff +0 -0
- package/es/Player/style/iconfont.woff2 +0 -0
- package/es/ScreenPlayer/Live.d.ts +1 -1
- package/es/ScreenPlayer/Live.js +22 -4
- package/es/ScreenPlayer/LiveTools.d.ts +5 -1
- package/es/ScreenPlayer/LiveTools.js +87 -43
- package/es/ScreenPlayer/PlayerWithExt.js +29 -4
- package/es/ScreenPlayer/Record.d.ts +1 -1
- package/es/ScreenPlayer/Record.js +27 -8
- package/es/ScreenPlayer/RecordTools.d.ts +5 -1
- package/es/ScreenPlayer/RecordTools.js +103 -46
- package/es/ScreenPlayer/ScreenSelect.d.ts +7 -0
- package/es/ScreenPlayer/ScreenSelect.js +28 -0
- package/es/ScreenPlayer/SegmentTimeLine.d.ts +1 -2
- package/es/ScreenPlayer/SegmentTimeLine.js +9 -6
- package/es/ScreenPlayer/TimeSelect.d.ts +7 -0
- package/es/ScreenPlayer/TimeSelect.js +129 -0
- package/es/ScreenPlayer/demo.d.ts +1 -1
- package/es/ScreenPlayer/demo.js +9 -4
- package/es/ScreenPlayer/demo2.js +1 -1
- package/es/ScreenPlayer/index.css +62 -4
- package/es/ScreenPlayer/interface.d.ts +27 -0
- package/es/Timeout/index.d.ts +8 -9
- package/es/Timeout/index.js +17 -23
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- package/package.json +1 -1
package/es/Player/live_heart.js
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
-
|
|
5
|
-
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."); }
|
|
6
|
-
|
|
7
|
-
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); }
|
|
8
|
-
|
|
9
|
-
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; }
|
|
10
|
-
|
|
11
|
-
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; }
|
|
12
|
-
|
|
13
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
|
|
15
|
-
import React, { useEffect, useState } from 'react';
|
|
1
|
+
import _useRafInterval from "ahooks/es/useRafInterval";
|
|
2
|
+
import React, { useEffect } from 'react';
|
|
16
3
|
import BrowserTab from './event/browserTabEvent';
|
|
17
4
|
|
|
18
5
|
function LiveHeart(_ref) {
|
|
19
6
|
var api = _ref.api;
|
|
20
7
|
|
|
21
|
-
var _useState = useState(Date.now()),
|
|
22
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
23
|
-
runDep = _useState2[0],
|
|
24
|
-
setRundep = _useState2[1];
|
|
25
|
-
|
|
26
8
|
var run = function run() {
|
|
27
9
|
var current = api.getCurrentTime();
|
|
28
10
|
var buffered = api.getSecondsLoaded();
|
|
@@ -30,6 +12,7 @@ function LiveHeart(_ref) {
|
|
|
30
12
|
if (buffered - current > 5) {
|
|
31
13
|
console.debug("\u5F53\u524D\u5EF6\u65F6\u8FC7\u5927current->".concat(current, " buffered->").concat(buffered, ", \u57FA\u4E8E\u89C6\u9891\u5F53\u524D\u7F13\u5B58\u65F6\u95F4\u66F4\u65B0\u5F53\u524D\u64AD\u653E\u65F6\u95F4 updateTime -> ").concat(buffered - 2));
|
|
32
14
|
api.seekTo(buffered - 2 > 0 ? buffered - 2 : 0);
|
|
15
|
+
api.play();
|
|
33
16
|
}
|
|
34
17
|
};
|
|
35
18
|
|
|
@@ -41,21 +24,13 @@ function LiveHeart(_ref) {
|
|
|
41
24
|
BrowserTab.addEventListener(browserTabChange);
|
|
42
25
|
return function () {
|
|
43
26
|
BrowserTab.removeEventListener(browserTabChange);
|
|
44
|
-
};
|
|
27
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
45
28
|
}, [api]);
|
|
46
29
|
|
|
47
|
-
|
|
48
|
-
run();
|
|
49
|
-
},
|
|
30
|
+
_useRafInterval(function () {
|
|
31
|
+
return run();
|
|
32
|
+
}, 30 * 1000);
|
|
50
33
|
|
|
51
|
-
useEffect(function () {
|
|
52
|
-
var timer = setInterval(function () {
|
|
53
|
-
return setRundep(Date.now());
|
|
54
|
-
}, 30 * 1000);
|
|
55
|
-
return function () {
|
|
56
|
-
return clearInterval(timer);
|
|
57
|
-
};
|
|
58
|
-
}, []);
|
|
59
34
|
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
60
35
|
}
|
|
61
36
|
|
|
@@ -16,6 +16,7 @@ import { __rest } from "tslib";
|
|
|
16
16
|
import React, { useEffect, useMemo, useRef, useState, useImperativeHandle } from 'react';
|
|
17
17
|
import { usePlayerApi } from './api';
|
|
18
18
|
import { usePlayerEvent, useRegisterPlayerEvents, useVideoEvents } from './event';
|
|
19
|
+
import EventName from './event/eventName';
|
|
19
20
|
import ContrallerBar from './contraller_bar';
|
|
20
21
|
import ContrallerEvent from './contraller_bar/contraller_event';
|
|
21
22
|
import LiveHeart from './live_heart';
|
|
@@ -99,7 +100,11 @@ var SinglePlayer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
99
100
|
container: domRef.current
|
|
100
101
|
});
|
|
101
102
|
});
|
|
102
|
-
}, []); //
|
|
103
|
+
}, []); // url 变化清理错误次数
|
|
104
|
+
|
|
105
|
+
useEffect(function () {
|
|
106
|
+
event && event.emit(EventName.CLEAR_ERROR_TIMER); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
107
|
+
}, [url]); // 特殊接口实现 reload是可能被重写的,但是API只暴露原生的方法
|
|
103
108
|
|
|
104
109
|
var reload = function reload() {
|
|
105
110
|
return playReload(video, event, flv, hls, url);
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { ILivePlayerProps } from './interface';
|
|
3
3
|
import './index.less';
|
|
4
|
-
declare function LivePlayer({ list, children }: ILivePlayerProps): JSX.Element;
|
|
4
|
+
declare function LivePlayer({ list, children, onIndexChange, onClose, onCloseAll }: ILivePlayerProps): JSX.Element;
|
|
5
5
|
export default LivePlayer;
|
package/es/ScreenPlayer/Live.js
CHANGED
|
@@ -10,16 +10,20 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
10
10
|
|
|
11
11
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
12
|
|
|
13
|
-
import React, { useMemo, useRef, useState } from 'react';
|
|
13
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
14
14
|
import { ScreenType, mergeFill } from './utils';
|
|
15
15
|
import { LivePlayerWithExt } from './PlayerWithExt';
|
|
16
16
|
import Tools from './LiveTools';
|
|
17
|
+
import useVideoFit from './useVideoFit';
|
|
17
18
|
import "./index.css";
|
|
18
19
|
|
|
19
20
|
function LivePlayer(_ref) {
|
|
20
21
|
var _ref$list = _ref.list,
|
|
21
22
|
list = _ref$list === void 0 ? [] : _ref$list,
|
|
22
|
-
children = _ref.children
|
|
23
|
+
children = _ref.children,
|
|
24
|
+
onIndexChange = _ref.onIndexChange,
|
|
25
|
+
onClose = _ref.onClose,
|
|
26
|
+
onCloseAll = _ref.onCloseAll;
|
|
23
27
|
|
|
24
28
|
var _useState = useState({
|
|
25
29
|
screenNum: 4,
|
|
@@ -30,7 +34,12 @@ function LivePlayer(_ref) {
|
|
|
30
34
|
state = _useState2[0],
|
|
31
35
|
setState = _useState2[1];
|
|
32
36
|
|
|
33
|
-
var domRef = useRef(null);
|
|
37
|
+
var domRef = useRef(null);
|
|
38
|
+
|
|
39
|
+
var _useVideoFit = useVideoFit(domRef, []),
|
|
40
|
+
fit = _useVideoFit.fit,
|
|
41
|
+
toggleFit = _useVideoFit.toggleFit; // 缓存所有player对象
|
|
42
|
+
|
|
34
43
|
|
|
35
44
|
var playerRef = useRef([]);
|
|
36
45
|
var screenType = useMemo(function () {
|
|
@@ -67,8 +76,13 @@ function LivePlayer(_ref) {
|
|
|
67
76
|
setState(function (old) {
|
|
68
77
|
return Object.assign(Object.assign({}, old), obj);
|
|
69
78
|
});
|
|
70
|
-
};
|
|
79
|
+
}; // index变化同步到父组件
|
|
80
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
81
|
+
|
|
71
82
|
|
|
83
|
+
useEffect(function () {
|
|
84
|
+
return onIndexChange(state.selectIndex);
|
|
85
|
+
}, [state.selectIndex]);
|
|
72
86
|
return /*#__PURE__*/React.createElement("div", {
|
|
73
87
|
className: "split-screen-player-wrapper",
|
|
74
88
|
ref: domRef
|
|
@@ -96,6 +110,10 @@ function LivePlayer(_ref) {
|
|
|
96
110
|
}
|
|
97
111
|
}));
|
|
98
112
|
})), /*#__PURE__*/React.createElement(Tools, {
|
|
113
|
+
onClose: onClose,
|
|
114
|
+
onCloseAll: onCloseAll,
|
|
115
|
+
fit: fit,
|
|
116
|
+
toggleFit: toggleFit,
|
|
99
117
|
getPlayerItem: getPlayerItem,
|
|
100
118
|
screenNum: state.screenNum,
|
|
101
119
|
mode: state.mode,
|
|
@@ -10,6 +10,10 @@ interface IToolsProps {
|
|
|
10
10
|
screenNum: number;
|
|
11
11
|
mode: PlayModeType;
|
|
12
12
|
getPlayerItem: () => ExportPlayerType | undefined;
|
|
13
|
+
fit?: string;
|
|
14
|
+
toggleFit?: () => void;
|
|
15
|
+
onClose?: () => void;
|
|
16
|
+
onCloseAll?: () => void;
|
|
13
17
|
}
|
|
14
|
-
declare function LiveTools({ containerRef, updateState, screenNum, getPlayerItem, mode }: IToolsProps): JSX.Element;
|
|
18
|
+
declare function LiveTools({ containerRef, updateState, screenNum, getPlayerItem, mode, toggleFit, fit, onClose, onCloseAll }: IToolsProps): JSX.Element;
|
|
15
19
|
export default LiveTools;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _useUpdate from "ahooks/es/useUpdate";
|
|
1
2
|
import _useFullscreen3 from "ahooks/es/useFullscreen";
|
|
2
3
|
|
|
3
4
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -13,29 +14,39 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
13
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
15
|
|
|
15
16
|
import React from 'react';
|
|
16
|
-
import
|
|
17
|
+
import IconFont from '../Player/iconfont';
|
|
18
|
+
import ScreenSelect from './ScreenSelect';
|
|
17
19
|
|
|
18
20
|
function LiveTools(_ref) {
|
|
19
21
|
var containerRef = _ref.containerRef,
|
|
20
22
|
updateState = _ref.updateState,
|
|
21
23
|
screenNum = _ref.screenNum,
|
|
22
24
|
getPlayerItem = _ref.getPlayerItem,
|
|
23
|
-
mode = _ref.mode
|
|
25
|
+
mode = _ref.mode,
|
|
26
|
+
toggleFit = _ref.toggleFit,
|
|
27
|
+
fit = _ref.fit,
|
|
28
|
+
onClose = _ref.onClose,
|
|
29
|
+
onCloseAll = _ref.onCloseAll;
|
|
24
30
|
|
|
25
31
|
var _useFullscreen = _useFullscreen3(containerRef),
|
|
26
32
|
_useFullscreen2 = _slicedToArray(_useFullscreen, 2),
|
|
27
33
|
isFullscreen = _useFullscreen2[0],
|
|
28
|
-
toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
|
|
34
|
+
toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
|
|
35
|
+
|
|
36
|
+
var update = _useUpdate(); // 播放状态控制
|
|
29
37
|
|
|
30
38
|
|
|
31
39
|
var playToggle = function playToggle() {
|
|
32
|
-
var player = getPlayerItem();
|
|
40
|
+
var player = getPlayerItem(); // eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
41
|
+
|
|
33
42
|
player ? player.video.paused ? player.api.play() : player.api.pause() : undefined;
|
|
43
|
+
update();
|
|
34
44
|
}; // 重连
|
|
35
45
|
|
|
36
46
|
|
|
37
47
|
var reload = function reload() {
|
|
38
|
-
var player = getPlayerItem();
|
|
48
|
+
var player = getPlayerItem(); // eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
49
|
+
|
|
39
50
|
player ? player.reload ? player.reload() : player.api.reload() : undefined;
|
|
40
51
|
};
|
|
41
52
|
|
|
@@ -44,52 +55,85 @@ function LiveTools(_ref) {
|
|
|
44
55
|
return player ? player.api.snapshot() : undefined;
|
|
45
56
|
};
|
|
46
57
|
|
|
58
|
+
var player = getPlayerItem();
|
|
47
59
|
return /*#__PURE__*/React.createElement("div", {
|
|
48
60
|
className: "player-tools"
|
|
49
61
|
}, /*#__PURE__*/React.createElement("div", {
|
|
50
|
-
className: "
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
62
|
+
className: "player-tools-left"
|
|
63
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
64
|
+
className: "player-tools-item"
|
|
65
|
+
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
66
|
+
type: "lm-player-volume-close",
|
|
67
|
+
title: "\u97F3\u91CF"
|
|
68
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
69
|
+
className: "player-tools-item"
|
|
70
|
+
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
71
|
+
type: "lm-player-xiangji1fill",
|
|
72
|
+
title: "\u622A\u56FE",
|
|
73
|
+
onClick: snapshot
|
|
74
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
75
|
+
className: "player-tools-item",
|
|
76
|
+
onClick: reload
|
|
77
|
+
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
78
|
+
type: "lm-player-Refresh_Main",
|
|
79
|
+
title: "\u91CD\u8F7D"
|
|
80
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
81
|
+
className: "player-tools-item",
|
|
82
|
+
onClick: onClose
|
|
83
|
+
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
84
|
+
type: "lm-player-YesorNo_No_Dark",
|
|
85
|
+
title: "\u5173\u95ED\u5F53\u524D"
|
|
86
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
87
|
+
className: "player-tools-mid"
|
|
88
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
89
|
+
className: "player-tools-item",
|
|
90
|
+
onClick: playToggle
|
|
91
|
+
}, player && !player.video.paused ? /*#__PURE__*/React.createElement(IconFont, {
|
|
92
|
+
type: "lm-player-Pause_Main",
|
|
93
|
+
title: "\u6682\u505C"
|
|
94
|
+
}) : /*#__PURE__*/React.createElement(IconFont, {
|
|
95
|
+
type: "lm-player-Play_Main",
|
|
96
|
+
title: "\u64AD\u653E"
|
|
97
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
98
|
+
className: "player-tools-right"
|
|
99
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
100
|
+
className: "player-tools-item",
|
|
101
|
+
onClick: onCloseAll
|
|
102
|
+
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
103
|
+
type: "lm-player-YesorNo_No_Dark",
|
|
104
|
+
title: "\u5173\u95ED\u6240\u6709"
|
|
105
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
106
|
+
className: "player-tools-item",
|
|
72
107
|
onClick: function onClick() {
|
|
73
108
|
return updateState({
|
|
74
109
|
mode: mode === 1 ? 2 : 1
|
|
75
110
|
});
|
|
76
111
|
}
|
|
77
|
-
},
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}, "
|
|
112
|
+
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
113
|
+
type: "lm-player-YesorNo_No_Dark",
|
|
114
|
+
title: "\u5207\u6362".concat(mode === 1 ? '插件' : '浏览器', "\u6A21\u5F0F")
|
|
115
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
116
|
+
className: "player-tools-item",
|
|
117
|
+
onClick: toggleFit
|
|
118
|
+
}, fit === 'fill' ? /*#__PURE__*/React.createElement(IconFont, {
|
|
119
|
+
type: "lm-player-S_View_ScreenSizeFull",
|
|
120
|
+
title: "\u81EA\u9002\u5E94"
|
|
121
|
+
}) : /*#__PURE__*/React.createElement(IconFont, {
|
|
122
|
+
type: "lm-player-S_View_ScreenSizeFull",
|
|
123
|
+
title: "\u586B\u5145"
|
|
124
|
+
})), /*#__PURE__*/React.createElement(ScreenSelect, {
|
|
125
|
+
screenNum: screenNum,
|
|
126
|
+
updateState: updateState
|
|
127
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
128
|
+
className: "player-tools-item",
|
|
129
|
+
onClick: toggleFullscreen
|
|
130
|
+
}, isFullscreen ? /*#__PURE__*/React.createElement(IconFont, {
|
|
131
|
+
type: "lm-player-ExitFull_Main",
|
|
132
|
+
title: "\u5168\u5C4F"
|
|
133
|
+
}) : /*#__PURE__*/React.createElement(IconFont, {
|
|
134
|
+
type: "lm-player-Full_Main",
|
|
135
|
+
title: "\u5168\u5C4F"
|
|
136
|
+
}))));
|
|
93
137
|
}
|
|
94
138
|
|
|
95
139
|
export default LiveTools;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _useFullscreen3 from "ahooks/es/useFullscreen";
|
|
2
|
+
|
|
1
3
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
4
|
|
|
3
5
|
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."); }
|
|
@@ -18,6 +20,8 @@ import FrontendPlayer from '../Player/frontend_player';
|
|
|
18
20
|
import ExtModel from '../PlayerExt';
|
|
19
21
|
import moment from 'moment';
|
|
20
22
|
export function LivePlayerWithExt(_a) {
|
|
23
|
+
var _b;
|
|
24
|
+
|
|
21
25
|
var mode = _a.mode,
|
|
22
26
|
isLive = _a.isLive,
|
|
23
27
|
url = _a.url,
|
|
@@ -33,10 +37,16 @@ export function LivePlayerWithExt(_a) {
|
|
|
33
37
|
var update = useCallback(function () {
|
|
34
38
|
return updatePlayer(ref);
|
|
35
39
|
}, [updatePlayer]);
|
|
40
|
+
|
|
41
|
+
var _useFullscreen = _useFullscreen3((_b = ref.current) === null || _b === void 0 ? void 0 : _b.container),
|
|
42
|
+
_useFullscreen2 = _slicedToArray(_useFullscreen, 2),
|
|
43
|
+
toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
|
|
44
|
+
|
|
36
45
|
return /*#__PURE__*/React.createElement("div", {
|
|
37
46
|
className: "player-with-ext-layout ".concat(className),
|
|
38
47
|
style: style,
|
|
39
|
-
onClick: onClick
|
|
48
|
+
onClick: onClick,
|
|
49
|
+
onDoubleClick: toggleFullscreen
|
|
40
50
|
}, /*#__PURE__*/React.createElement(ExtModel, {
|
|
41
51
|
url: url,
|
|
42
52
|
mode: mode,
|
|
@@ -51,6 +61,8 @@ export function LivePlayerWithExt(_a) {
|
|
|
51
61
|
}))));
|
|
52
62
|
}
|
|
53
63
|
export function SegmentPlayerWithExt(_a) {
|
|
64
|
+
var _b;
|
|
65
|
+
|
|
54
66
|
var begin = _a.begin,
|
|
55
67
|
style = _a.style,
|
|
56
68
|
className = _a.className,
|
|
@@ -63,10 +75,16 @@ export function SegmentPlayerWithExt(_a) {
|
|
|
63
75
|
var update = useCallback(function () {
|
|
64
76
|
return updatePlayer(ref);
|
|
65
77
|
}, [updatePlayer]);
|
|
78
|
+
|
|
79
|
+
var _useFullscreen4 = _useFullscreen3((_b = ref.current) === null || _b === void 0 ? void 0 : _b.container),
|
|
80
|
+
_useFullscreen5 = _slicedToArray(_useFullscreen4, 2),
|
|
81
|
+
toggleFullscreen = _useFullscreen5[1].toggleFullscreen;
|
|
82
|
+
|
|
66
83
|
return /*#__PURE__*/React.createElement("div", {
|
|
67
84
|
className: "player-with-ext-layout ".concat(className),
|
|
68
85
|
style: style,
|
|
69
|
-
onClick: onClick
|
|
86
|
+
onClick: onClick,
|
|
87
|
+
onDoubleClick: toggleFullscreen
|
|
70
88
|
}, /*#__PURE__*/React.createElement(ExtModel, {
|
|
71
89
|
segments: segments,
|
|
72
90
|
mode: 1
|
|
@@ -90,6 +108,8 @@ export function FrontendPlayerWithExt(_ref) {
|
|
|
90
108
|
onClick = _ref.onClick,
|
|
91
109
|
pluginDownloadUrl = _ref.pluginDownloadUrl;
|
|
92
110
|
|
|
111
|
+
var _a;
|
|
112
|
+
|
|
93
113
|
var _useState = useState({
|
|
94
114
|
begin: 0,
|
|
95
115
|
end: 0,
|
|
@@ -136,11 +156,16 @@ export function FrontendPlayerWithExt(_ref) {
|
|
|
136
156
|
var update = useCallback(function () {
|
|
137
157
|
return updatePlayer(ref);
|
|
138
158
|
}, [updatePlayer]);
|
|
139
|
-
|
|
159
|
+
|
|
160
|
+
var _useFullscreen6 = _useFullscreen3((_a = ref.current) === null || _a === void 0 ? void 0 : _a.container),
|
|
161
|
+
_useFullscreen7 = _slicedToArray(_useFullscreen6, 2),
|
|
162
|
+
toggleFullscreen = _useFullscreen7[1].toggleFullscreen;
|
|
163
|
+
|
|
140
164
|
return /*#__PURE__*/React.createElement("div", {
|
|
141
165
|
className: "player-with-ext-layout ".concat(className),
|
|
142
166
|
style: style,
|
|
143
|
-
onClick: onClick
|
|
167
|
+
onClick: onClick,
|
|
168
|
+
onDoubleClick: toggleFullscreen
|
|
144
169
|
}, /*#__PURE__*/React.createElement(ExtModel, {
|
|
145
170
|
segments: segments,
|
|
146
171
|
mode: mode,
|
|
@@ -6,5 +6,5 @@ import './index.less';
|
|
|
6
6
|
* @param param0
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
declare function RecordPlayer({ list, children, queryRecord, onIndexChange }: IRecordPlayerProps): JSX.Element;
|
|
9
|
+
declare function RecordPlayer({ list, children, queryRecord, onIndexChange, onClose, onCloseAll }: IRecordPlayerProps): JSX.Element;
|
|
10
10
|
export default RecordPlayer;
|
|
@@ -32,6 +32,7 @@ import RecordTools from './RecordTools';
|
|
|
32
32
|
import SegmentTimeLine from './SegmentTimeLine';
|
|
33
33
|
import useRecordList from './useRecordList';
|
|
34
34
|
import useVideoFit from './useVideoFit';
|
|
35
|
+
import DisableMark from '../DisableMark';
|
|
35
36
|
import "./index.css";
|
|
36
37
|
/**
|
|
37
38
|
* @desc 录像设计的时间全部需要到毫秒
|
|
@@ -45,7 +46,9 @@ function RecordPlayer(_ref) {
|
|
|
45
46
|
var list = _ref.list,
|
|
46
47
|
children = _ref.children,
|
|
47
48
|
queryRecord = _ref.queryRecord,
|
|
48
|
-
onIndexChange = _ref.onIndexChange
|
|
49
|
+
onIndexChange = _ref.onIndexChange,
|
|
50
|
+
onClose = _ref.onClose,
|
|
51
|
+
onCloseAll = _ref.onCloseAll;
|
|
49
52
|
|
|
50
53
|
var _useState = useState({
|
|
51
54
|
screenNum: 4,
|
|
@@ -278,7 +281,16 @@ function RecordPlayer(_ref) {
|
|
|
278
281
|
}, _callee);
|
|
279
282
|
}));
|
|
280
283
|
}, // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
281
|
-
[segmentItem.cid, segmentItem.recordType, segmentItem.segments, state.loading]);
|
|
284
|
+
[segmentItem.cid, segmentItem.recordType, segmentItem.segments, state.loading]);
|
|
285
|
+
|
|
286
|
+
var _updatePlayer = function updatePlayer(player, index) {
|
|
287
|
+
playerRef.current[index] = player;
|
|
288
|
+
setState(function (old) {
|
|
289
|
+
return Object.assign({}, old);
|
|
290
|
+
});
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
console.log(segmentItem.cid); // index变化同步到父组件
|
|
282
294
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
283
295
|
|
|
284
296
|
useEffect(function () {
|
|
@@ -297,7 +309,7 @@ function RecordPlayer(_ref) {
|
|
|
297
309
|
key: "".concat((_b = item === null || item === void 0 ? void 0 : item.date) !== null && _b !== void 0 ? _b : '', "-").concat((_c = item.cid) !== null && _c !== void 0 ? _c : '', "-").concat(index),
|
|
298
310
|
className: state.selectIndex === index ? 'player-current-index' : '',
|
|
299
311
|
updatePlayer: function updatePlayer(player) {
|
|
300
|
-
return
|
|
312
|
+
return _updatePlayer(player, index);
|
|
301
313
|
},
|
|
302
314
|
onClick: function onClick() {
|
|
303
315
|
return setState(function (old) {
|
|
@@ -314,7 +326,7 @@ function RecordPlayer(_ref) {
|
|
|
314
326
|
className: state.selectIndex === index ? 'player-current-index' : '',
|
|
315
327
|
segments: ((_d = recordList[index]) === null || _d === void 0 ? void 0 : _d.segments) || [],
|
|
316
328
|
updatePlayer: function updatePlayer(player) {
|
|
317
|
-
return
|
|
329
|
+
return _updatePlayer(player, index);
|
|
318
330
|
},
|
|
319
331
|
onClick: function onClick() {
|
|
320
332
|
return setState(function (old) {
|
|
@@ -330,21 +342,28 @@ function RecordPlayer(_ref) {
|
|
|
330
342
|
height: screenType.height
|
|
331
343
|
}
|
|
332
344
|
}));
|
|
333
|
-
})), /*#__PURE__*/React.createElement(
|
|
345
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
346
|
+
className: "player-tools-group"
|
|
347
|
+
}, /*#__PURE__*/React.createElement(DisableMark, {
|
|
348
|
+
disabled: !segmentItem.cid
|
|
349
|
+
}, /*#__PURE__*/React.createElement(RecordTools, {
|
|
350
|
+
time: state.currentTimes[state.selectIndex],
|
|
334
351
|
fit: fit,
|
|
335
352
|
toggleFit: toggleFit,
|
|
336
353
|
getPlayerItem: getPlayerItem,
|
|
337
354
|
screenNum: state.screenNum,
|
|
338
355
|
mode: state.mode,
|
|
339
356
|
containerRef: domRef,
|
|
340
|
-
updateState: updateState
|
|
357
|
+
updateState: updateState,
|
|
358
|
+
onTimeChange: onTimeChange,
|
|
359
|
+
onClose: onClose,
|
|
360
|
+
onCloseAll: onCloseAll
|
|
341
361
|
}), /*#__PURE__*/React.createElement(SegmentTimeLine, {
|
|
342
|
-
disabled: !!segmentItem.cid,
|
|
343
362
|
begin: timeBegin,
|
|
344
363
|
timeCell: segmentItem.segments,
|
|
345
364
|
key: state.selectIndex,
|
|
346
365
|
onTimeChange: onTimeChange
|
|
347
|
-
}), children && /*#__PURE__*/React.cloneElement(children, {
|
|
366
|
+
}))), children && /*#__PURE__*/React.cloneElement(children, {
|
|
348
367
|
selectIndex: state.selectIndex
|
|
349
368
|
}));
|
|
350
369
|
}
|
|
@@ -12,6 +12,10 @@ interface IToolsProps {
|
|
|
12
12
|
getPlayerItem: () => ExportPlayerType | undefined;
|
|
13
13
|
fit?: string;
|
|
14
14
|
toggleFit?: () => void;
|
|
15
|
+
time?: number;
|
|
16
|
+
onTimeChange?: (time: number) => void;
|
|
17
|
+
onClose?: () => void;
|
|
18
|
+
onCloseAll?: () => void;
|
|
15
19
|
}
|
|
16
|
-
declare function RecordTools({ containerRef, updateState, screenNum, getPlayerItem, mode, fit,
|
|
20
|
+
declare function RecordTools({ containerRef, updateState, screenNum, getPlayerItem, mode, toggleFit, fit, time, onTimeChange, onClose, onCloseAll }: IToolsProps): JSX.Element;
|
|
17
21
|
export default RecordTools;
|