@cloud-app-dev/vidc 3.0.16 → 3.0.17
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/es/DisableMark/index.d.ts +2 -1
- package/es/DisableMark/index.js +6 -2
- package/es/Map/BasicMap/AMapInstance.d.ts +3 -0
- package/es/Map/BasicMap/AMapInstance.js +16 -1
- package/es/Map/BasicMap/LeafletInstance.d.ts +4 -1
- package/es/Map/BasicMap/LeafletInstance.js +17 -2
- package/es/Map/LevelCenter/index.d.ts +3 -0
- package/es/Map/LevelCenter/index.js +29 -9
- package/es/Map/SinglePoint/index.js +8 -5
- package/es/Map/hook/useMapEvent.d.ts +2 -0
- package/es/Map/hook/useMapEvent.js +22 -0
- package/es/Map/interface.d.ts +3 -0
- package/es/Player/event/errorEvent.d.ts +3 -3
- package/es/Player/event/errorEvent.js +22 -14
- package/es/Player/live_heart.d.ts +4 -4
- package/es/Player/live_heart.js +10 -7
- package/es/Player/message.js +1 -1
- package/es/Player/single_player.js +20 -16
- package/es/ScreenPlayer/Live.d.ts +1 -1
- package/es/ScreenPlayer/Live.js +6 -2
- package/es/ScreenPlayer/LiveTools.d.ts +9 -1
- package/es/ScreenPlayer/LiveTools.js +6 -3
- package/es/ScreenPlayer/Record.d.ts +1 -1
- package/es/ScreenPlayer/Record.js +8 -3
- package/es/ScreenPlayer/RecordTools.d.ts +9 -1
- package/es/ScreenPlayer/RecordTools.js +5 -3
- package/es/ScreenPlayer/interface.d.ts +51 -0
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import './index.less';
|
|
|
3
3
|
interface IDisableMarkProps {
|
|
4
4
|
children: React.ReactNode;
|
|
5
5
|
disabled: boolean;
|
|
6
|
+
width?: string | number;
|
|
6
7
|
}
|
|
7
|
-
export default function DisableMark({ children, disabled }: IDisableMarkProps): JSX.Element;
|
|
8
|
+
export default function DisableMark({ children, disabled, width }: IDisableMarkProps): JSX.Element;
|
|
8
9
|
export {};
|
package/es/DisableMark/index.js
CHANGED
|
@@ -2,8 +2,12 @@ import React from 'react';
|
|
|
2
2
|
import "./index.css";
|
|
3
3
|
export default function DisableMark(_ref) {
|
|
4
4
|
var children = _ref.children,
|
|
5
|
-
disabled = _ref.disabled
|
|
5
|
+
disabled = _ref.disabled,
|
|
6
|
+
width = _ref.width;
|
|
6
7
|
return /*#__PURE__*/React.createElement(React.Fragment, null, disabled ? /*#__PURE__*/React.createElement("div", {
|
|
7
|
-
className: "disable-mark"
|
|
8
|
+
className: "disable-mark",
|
|
9
|
+
style: {
|
|
10
|
+
width: width
|
|
11
|
+
}
|
|
8
12
|
}) : null, children);
|
|
9
13
|
}
|
|
@@ -12,5 +12,8 @@ declare class AMapInstance implements IMapInstance {
|
|
|
12
12
|
getZoom(): number;
|
|
13
13
|
setCenter(center: [number, number]): void;
|
|
14
14
|
setZoomAndCenter(zoom: number, center: [number, number]): void;
|
|
15
|
+
on(type: string, fn: (e: any) => void): void;
|
|
16
|
+
off(type: string, fn: (e: any) => void): void;
|
|
17
|
+
setCursor(cursor: string): void;
|
|
15
18
|
}
|
|
16
19
|
export default AMapInstance;
|
|
@@ -66,13 +66,28 @@ var AMapInstance = /*#__PURE__*/function () {
|
|
|
66
66
|
}, {
|
|
67
67
|
key: "setCenter",
|
|
68
68
|
value: function setCenter(center) {
|
|
69
|
-
|
|
69
|
+
this.map.setCenter(center);
|
|
70
70
|
}
|
|
71
71
|
}, {
|
|
72
72
|
key: "setZoomAndCenter",
|
|
73
73
|
value: function setZoomAndCenter(zoom, center) {
|
|
74
74
|
this.map.setZoomAndCenter(zoom, center);
|
|
75
75
|
}
|
|
76
|
+
}, {
|
|
77
|
+
key: "on",
|
|
78
|
+
value: function on(type, fn) {
|
|
79
|
+
this.map.on(type, fn);
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
key: "off",
|
|
83
|
+
value: function off(type, fn) {
|
|
84
|
+
this.map.off(type, fn);
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "setCursor",
|
|
88
|
+
value: function setCursor(cursor) {
|
|
89
|
+
this.map.setDefaultCursor(cursor);
|
|
90
|
+
}
|
|
76
91
|
}]);
|
|
77
92
|
|
|
78
93
|
return AMapInstance;
|
|
@@ -8,8 +8,11 @@ declare class LeafletInstance implements IMapInstance {
|
|
|
8
8
|
destoryMap(): void;
|
|
9
9
|
setZoomAndCenter(zoom: number, center: [number, number] | LatLng): void;
|
|
10
10
|
mapReset(): void;
|
|
11
|
-
setZoom(zoom: number):
|
|
11
|
+
setZoom(zoom: number): void;
|
|
12
12
|
setCenter(center: [number, number] | LatLng): void;
|
|
13
13
|
getZoom(): number;
|
|
14
|
+
on(type: string, fn: (event: any) => void): void;
|
|
15
|
+
off(type: string, fn: (event: any) => void): void;
|
|
16
|
+
setCursor(cursor: string): void;
|
|
14
17
|
}
|
|
15
18
|
export default LeafletInstance;
|
|
@@ -78,18 +78,33 @@ var LeafletInstance = /*#__PURE__*/function () {
|
|
|
78
78
|
}, {
|
|
79
79
|
key: "setZoom",
|
|
80
80
|
value: function setZoom(zoom) {
|
|
81
|
-
|
|
81
|
+
this.map.setZoom(zoom);
|
|
82
82
|
}
|
|
83
83
|
}, {
|
|
84
84
|
key: "setCenter",
|
|
85
85
|
value: function setCenter(center) {
|
|
86
|
-
|
|
86
|
+
this.map.setCenter(center);
|
|
87
87
|
}
|
|
88
88
|
}, {
|
|
89
89
|
key: "getZoom",
|
|
90
90
|
value: function getZoom() {
|
|
91
91
|
return this.map.getZoom();
|
|
92
92
|
}
|
|
93
|
+
}, {
|
|
94
|
+
key: "on",
|
|
95
|
+
value: function on(type, fn) {
|
|
96
|
+
this.map.on(type, fn);
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "off",
|
|
100
|
+
value: function off(type, fn) {
|
|
101
|
+
this.map.off(type, fn);
|
|
102
|
+
}
|
|
103
|
+
}, {
|
|
104
|
+
key: "setCursor",
|
|
105
|
+
value: function setCursor(cursor) {
|
|
106
|
+
this.map.setDefaultCursor(cursor);
|
|
107
|
+
}
|
|
93
108
|
}]);
|
|
94
109
|
|
|
95
110
|
return LeafletInstance;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { LatLng, MapPoint } from '../interface';
|
|
2
3
|
import './index.less';
|
|
3
4
|
export interface ILevelCenter {
|
|
4
5
|
center?: [number, number];
|
|
5
6
|
zoom?: number;
|
|
6
7
|
points: MapPoint[];
|
|
8
|
+
enableClick?: boolean;
|
|
7
9
|
onLevelCenterChange?: (options: {
|
|
8
10
|
center: [number, number] | LatLng;
|
|
9
11
|
zoom: number;
|
|
10
12
|
}) => void;
|
|
13
|
+
children?: React.ReactNode;
|
|
11
14
|
}
|
|
12
15
|
declare const _default: (props: ILevelCenter) => JSX.Element;
|
|
13
16
|
export default _default;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _useMount from "ahooks/es/useMount";
|
|
2
|
+
import React, { useCallback, useContext, useMemo } from 'react';
|
|
2
3
|
import ClusterLayer from '../ClusterLayer';
|
|
3
|
-
import FindPio from '../FindPio';
|
|
4
4
|
import ResetTools from '../ResetTools';
|
|
5
5
|
import DragMarker from './DragMarker';
|
|
6
6
|
import withMap from '../withMap';
|
|
7
7
|
import { mapContext } from '../Context';
|
|
8
|
+
import useMapEvent from '../hook/useMapEvent';
|
|
8
9
|
import "./index.css";
|
|
9
10
|
|
|
10
11
|
function LevelCenter(_ref) {
|
|
11
12
|
var center = _ref.center,
|
|
12
13
|
zoom = _ref.zoom,
|
|
13
14
|
points = _ref.points,
|
|
14
|
-
onLevelCenterChange = _ref.onLevelCenterChange
|
|
15
|
+
onLevelCenterChange = _ref.onLevelCenterChange,
|
|
16
|
+
enableClick = _ref.enableClick,
|
|
17
|
+
children = _ref.children;
|
|
15
18
|
|
|
16
19
|
var _useContext = useContext(mapContext),
|
|
17
20
|
instance = _useContext.instance;
|
|
@@ -21,22 +24,39 @@ function LevelCenter(_ref) {
|
|
|
21
24
|
}, [center, instance]);
|
|
22
25
|
var defaultZoom = useMemo(function () {
|
|
23
26
|
return zoom || instance.config.zoom;
|
|
24
|
-
}, [zoom, instance]);
|
|
27
|
+
}, [zoom, instance]); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
28
|
+
|
|
25
29
|
var mapRest = useCallback(function () {
|
|
26
30
|
return instance.setZoomAndCenter(defaultZoom, defaultCenter);
|
|
27
31
|
}, [defaultZoom, defaultCenter]);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
|
|
33
|
+
_useMount(function () {
|
|
34
|
+
if (enableClick) {
|
|
35
|
+
instance.setCursor('pointer');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
mapRest();
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
useMapEvent('click', function (event) {
|
|
42
|
+
if (enableClick) {
|
|
43
|
+
var _center = [event.lnglat.lng, event.lnglat.lat];
|
|
44
|
+
instance.setCenter(_center);
|
|
45
|
+
onLevelCenterChange === null || onLevelCenterChange === void 0 ? void 0 : onLevelCenterChange({
|
|
46
|
+
center: _center,
|
|
47
|
+
zoom: defaultZoom
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
31
51
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ClusterLayer, {
|
|
32
52
|
points: points
|
|
33
|
-
}), /*#__PURE__*/React.createElement(
|
|
53
|
+
}), /*#__PURE__*/React.createElement(ResetTools, {
|
|
34
54
|
onMapReset: mapRest
|
|
35
55
|
}), /*#__PURE__*/React.createElement(DragMarker, {
|
|
36
56
|
center: defaultCenter,
|
|
37
57
|
zoom: defaultZoom,
|
|
38
58
|
onChange: onLevelCenterChange
|
|
39
|
-
}));
|
|
59
|
+
}), children);
|
|
40
60
|
}
|
|
41
61
|
|
|
42
62
|
export default withMap(LevelCenter, 'lv-center-map-container');
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _useMount from "ahooks/es/useMount";
|
|
2
|
+
import React, { useCallback, useContext, useMemo } from 'react';
|
|
2
3
|
import ResetTools from '../ResetTools';
|
|
3
4
|
import Marker from './Marker';
|
|
4
5
|
import withMap from '../withMap';
|
|
@@ -15,13 +16,15 @@ function SinglePoint(_ref) {
|
|
|
15
16
|
var type = useMapType();
|
|
16
17
|
var defaultCenter = useMemo(function () {
|
|
17
18
|
return type.AMap ? [point.longitude, point.latitude] : [point.latitude, point.longitude];
|
|
18
|
-
}, [
|
|
19
|
+
}, [type.AMap, point.longitude, point.latitude]);
|
|
19
20
|
var mapRest = useCallback(function () {
|
|
20
21
|
return instance.setZoomAndCenter(instance.config.zoom, defaultCenter);
|
|
21
|
-
}, [defaultCenter]);
|
|
22
|
-
|
|
22
|
+
}, [defaultCenter, instance]);
|
|
23
|
+
|
|
24
|
+
_useMount(function () {
|
|
23
25
|
return mapRest();
|
|
24
|
-
}
|
|
26
|
+
});
|
|
27
|
+
|
|
25
28
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ResetTools, {
|
|
26
29
|
onMapReset: mapRest
|
|
27
30
|
}), /*#__PURE__*/React.createElement(Marker, {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import _useCreation from "ahooks/es/useCreation";
|
|
2
|
+
import { useContext, useEffect } from 'react';
|
|
3
|
+
import { mapContext } from '../Context';
|
|
4
|
+
|
|
5
|
+
function useMapEvent(type, fn) {
|
|
6
|
+
var action = _useCreation(function () {
|
|
7
|
+
return fn;
|
|
8
|
+
}, []);
|
|
9
|
+
|
|
10
|
+
var _useContext = useContext(mapContext),
|
|
11
|
+
instance = _useContext.instance;
|
|
12
|
+
|
|
13
|
+
useEffect(function () {
|
|
14
|
+
console.log(11111);
|
|
15
|
+
instance.on(type, action);
|
|
16
|
+
return function () {
|
|
17
|
+
return instance.off(type, action);
|
|
18
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
|
+
}, []);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default useMapEvent;
|
package/es/Map/interface.d.ts
CHANGED
|
@@ -32,6 +32,9 @@ export class IMapInstance {
|
|
|
32
32
|
setCenter(center: [number, number] | LatLng): void;
|
|
33
33
|
getZoom(): number;
|
|
34
34
|
setZoomAndCenter(zoom: number, center: [number, number] | LatLng): void;
|
|
35
|
+
on(type: string, fn: (e: any) => void): void;
|
|
36
|
+
off(type: string, fn: (e: any) => void): void;
|
|
37
|
+
setCursor(cursor: string);
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
export interface MapPoint {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type VideoEventInstance from '.';
|
|
3
2
|
import type Api from '../api';
|
|
4
3
|
import Flvjs from '@cloud-app-dev/flv.js';
|
|
@@ -11,6 +10,7 @@ interface IErrorEventProps {
|
|
|
11
10
|
hls: Hls;
|
|
12
11
|
reload: () => void;
|
|
13
12
|
unload: () => void;
|
|
13
|
+
errorHandleAdapter?: (errorInfo: any) => boolean;
|
|
14
14
|
}
|
|
15
|
-
declare function
|
|
16
|
-
export default
|
|
15
|
+
declare function useErrorEvent({ event, api, reload, unload, errorReloadTimer, flv, hls, errorHandleAdapter }: IErrorEventProps): void;
|
|
16
|
+
export default useErrorEvent;
|
|
@@ -18,19 +18,20 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
18
18
|
|
|
19
19
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
20
20
|
|
|
21
|
-
import
|
|
21
|
+
import { useState, useEffect, useRef } from 'react';
|
|
22
22
|
import EventName from './eventName';
|
|
23
23
|
import Flvjs from '@cloud-app-dev/flv.js';
|
|
24
24
|
import Hls from 'hls.js';
|
|
25
25
|
|
|
26
|
-
function
|
|
26
|
+
function useErrorEvent(_ref) {
|
|
27
27
|
var event = _ref.event,
|
|
28
28
|
api = _ref.api,
|
|
29
29
|
reload = _ref.reload,
|
|
30
30
|
unload = _ref.unload,
|
|
31
31
|
errorReloadTimer = _ref.errorReloadTimer,
|
|
32
32
|
flv = _ref.flv,
|
|
33
|
-
hls = _ref.hls
|
|
33
|
+
hls = _ref.hls,
|
|
34
|
+
errorHandleAdapter = _ref.errorHandleAdapter;
|
|
34
35
|
|
|
35
36
|
var _useState = useState(0),
|
|
36
37
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -54,7 +55,10 @@ function ErrorEvent(_ref) {
|
|
|
54
55
|
(_console = console).error.apply(_console, args);
|
|
55
56
|
|
|
56
57
|
errorInfo.current = args;
|
|
57
|
-
|
|
58
|
+
|
|
59
|
+
if (!(errorHandleAdapter === null || errorHandleAdapter === void 0 ? void 0 : errorHandleAdapter(args))) {
|
|
60
|
+
setErrorTime(errorTimer + 1);
|
|
61
|
+
}
|
|
58
62
|
};
|
|
59
63
|
|
|
60
64
|
var reloadSuccess = function reloadSuccess() {
|
|
@@ -77,17 +81,22 @@ function ErrorEvent(_ref) {
|
|
|
77
81
|
hls.on(Hls.Events.ERROR, errorHandle);
|
|
78
82
|
}
|
|
79
83
|
|
|
80
|
-
event
|
|
81
|
-
|
|
82
|
-
|
|
84
|
+
if (event) {
|
|
85
|
+
event.on(EventName.ERROR, errorHandle);
|
|
86
|
+
event.on(EventName.CLEAR_ERROR_TIMER, clearErrorTimer);
|
|
87
|
+
event.addEventListener('error', errorHandle); //获取video状态清除错误状态
|
|
88
|
+
|
|
89
|
+
event.addEventListener('canplay', reloadSuccess);
|
|
90
|
+
}
|
|
83
91
|
|
|
84
|
-
event.addEventListener('canplay', reloadSuccess);
|
|
85
92
|
return function () {
|
|
86
93
|
// flv, hls事件不用主动销毁,库内部自己处理
|
|
87
|
-
event
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
if (event) {
|
|
95
|
+
event.off(EventName.ERROR, errorHandle);
|
|
96
|
+
event.removeEventListener('error', errorHandle);
|
|
97
|
+
event.removeEventListener('canplay', reloadSuccess);
|
|
98
|
+
}
|
|
99
|
+
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
100
|
}, [event, flv, hls, errorTimer]);
|
|
92
101
|
useEffect(function () {
|
|
93
102
|
if (errorTimer === 0) {
|
|
@@ -109,7 +118,6 @@ function ErrorEvent(_ref) {
|
|
|
109
118
|
clearTimeout(reloadTimer.current);
|
|
110
119
|
}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
111
120
|
}, [errorTimer, api, event, flv, hls]);
|
|
112
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
113
121
|
}
|
|
114
122
|
|
|
115
|
-
export default
|
|
123
|
+
export default useErrorEvent;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type Api from './api';
|
|
3
2
|
import type VideoEventInstance from './event';
|
|
4
|
-
declare function
|
|
3
|
+
declare function useLiveHeart({ api, event, isLive }: {
|
|
5
4
|
api: Api;
|
|
6
5
|
event: VideoEventInstance;
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
isLive: boolean;
|
|
7
|
+
}): void;
|
|
8
|
+
export default useLiveHeart;
|
package/es/Player/live_heart.js
CHANGED
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import _useRafInterval from "ahooks/es/useRafInterval";
|
|
2
2
|
import _useUpdateEffect from "ahooks/es/useUpdateEffect";
|
|
3
3
|
import _useDocumentVisibility from "ahooks/es/useDocumentVisibility";
|
|
4
|
-
import
|
|
4
|
+
import { useRef } from 'react';
|
|
5
5
|
import Events from './event/eventName';
|
|
6
6
|
|
|
7
|
-
function
|
|
7
|
+
function useLiveHeart(_ref) {
|
|
8
8
|
var api = _ref.api,
|
|
9
|
-
event = _ref.event
|
|
9
|
+
event = _ref.event,
|
|
10
|
+
isLive = _ref.isLive;
|
|
10
11
|
|
|
11
12
|
var documentVisibility = _useDocumentVisibility();
|
|
12
13
|
|
|
13
14
|
var cTimeRef = useRef(null);
|
|
14
15
|
|
|
15
16
|
var run = function run() {
|
|
17
|
+
if (!isLive && documentVisibility !== 'visible') {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
|
|
16
21
|
var current = api.getCurrentTime();
|
|
17
22
|
var buffered = api.getSecondsLoaded();
|
|
18
23
|
|
|
@@ -38,12 +43,10 @@ function LiveHeart(_ref) {
|
|
|
38
43
|
_useRafInterval(function () {
|
|
39
44
|
var cuurentTime = api.getCurrentTime();
|
|
40
45
|
|
|
41
|
-
if (!api.video.paused && cuurentTime === cTimeRef.current) {
|
|
46
|
+
if (!!isLive && !api.video.paused && cuurentTime === cTimeRef.current) {
|
|
42
47
|
event.emit(Events.ERROR);
|
|
43
48
|
}
|
|
44
49
|
}, 20 * 1000);
|
|
45
|
-
|
|
46
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null);
|
|
47
50
|
}
|
|
48
51
|
|
|
49
|
-
export default
|
|
52
|
+
export default useLiveHeart;
|
package/es/Player/message.js
CHANGED
|
@@ -134,7 +134,7 @@ function VideoMessage(_ref) {
|
|
|
134
134
|
event.off(EventName.HISTORY_PLAY_END, playEnd);
|
|
135
135
|
event.off(EventName.CLEAR_ERROR_TIMER, reloadSuccess);
|
|
136
136
|
};
|
|
137
|
-
}, [event]);
|
|
137
|
+
}, [api, event]);
|
|
138
138
|
var loading = state.loading,
|
|
139
139
|
status = state.status;
|
|
140
140
|
return /*#__PURE__*/React.createElement("div", {
|
|
@@ -19,9 +19,9 @@ import { usePlayerEvent, useRegisterPlayerEvents, useVideoEvents } from './event
|
|
|
19
19
|
import EventName from './event/eventName';
|
|
20
20
|
import ContrallerBar from './contraller_bar';
|
|
21
21
|
import ContrallerEvent from './contraller_bar/contraller_event';
|
|
22
|
-
import
|
|
22
|
+
import useLiveHeart from './live_heart';
|
|
23
23
|
import VideoMessage from './message';
|
|
24
|
-
import
|
|
24
|
+
import useErrorEvent from './event/errorEvent';
|
|
25
25
|
import { getVideoType, playReload, playUnload } from './util';
|
|
26
26
|
import Timeline from './timeline';
|
|
27
27
|
import "./style/index.css";
|
|
@@ -85,7 +85,6 @@ var SinglePlayer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
85
85
|
_usePlayerApi2 = _slicedToArray(_usePlayerApi, 2),
|
|
86
86
|
api = _usePlayerApi2[0],
|
|
87
87
|
_usePlayerApi2$ = _slicedToArray(_usePlayerApi2[1], 3),
|
|
88
|
-
_ = _usePlayerApi2$[0],
|
|
89
88
|
flv = _usePlayerApi2$[1],
|
|
90
89
|
hls = _usePlayerApi2$[2]; // 判断是否有链接传入
|
|
91
90
|
|
|
@@ -167,7 +166,23 @@ var SinglePlayer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
167
166
|
onCanPlayerInit === null || onCanPlayerInit === void 0 ? void 0 : onCanPlayerInit();
|
|
168
167
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
169
168
|
|
|
170
|
-
}, [api, event, video]);
|
|
169
|
+
}, [api, event, video]); // 补货视频错误,自定义处理
|
|
170
|
+
|
|
171
|
+
useErrorEvent({
|
|
172
|
+
unload: unload,
|
|
173
|
+
flv: flv,
|
|
174
|
+
hls: hls,
|
|
175
|
+
api: playApi,
|
|
176
|
+
event: event,
|
|
177
|
+
reload: reload,
|
|
178
|
+
errorReloadTimer: errorReloadTimer
|
|
179
|
+
}); // 直播缓冲追回
|
|
180
|
+
|
|
181
|
+
useLiveHeart({
|
|
182
|
+
api: playApi,
|
|
183
|
+
event: event,
|
|
184
|
+
isLive: isLive
|
|
185
|
+
});
|
|
171
186
|
return /*#__PURE__*/React.createElement("div", {
|
|
172
187
|
className: "lm-player-container ".concat(className),
|
|
173
188
|
ref: domRef
|
|
@@ -204,18 +219,7 @@ var SinglePlayer = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
|
204
219
|
})), customTimeLine ? customTimeLine : !hideContrallerBar ? /*#__PURE__*/React.createElement(Timeline, {
|
|
205
220
|
api: playApi,
|
|
206
221
|
event: event
|
|
207
|
-
}) : null,
|
|
208
|
-
unload: unload,
|
|
209
|
-
flv: flv,
|
|
210
|
-
hls: hls,
|
|
211
|
-
api: playApi,
|
|
212
|
-
event: event,
|
|
213
|
-
reload: reload,
|
|
214
|
-
errorReloadTimer: errorReloadTimer
|
|
215
|
-
}), isLive && /*#__PURE__*/React.createElement(LiveHeart, {
|
|
216
|
-
api: playApi,
|
|
217
|
-
event: playEvent
|
|
218
|
-
})), children);
|
|
222
|
+
}) : null), children);
|
|
219
223
|
});
|
|
220
224
|
SinglePlayer.defaultProps = {
|
|
221
225
|
isLive: true,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { ILivePlayerProps } from './interface';
|
|
3
3
|
import './index.less';
|
|
4
|
-
declare function LivePlayer({ list, children, onIndexChange, onClose, onCloseAll, snapshot, defaultScreen, screenChange, defaultSelectIndex, ...options }: ILivePlayerProps): JSX.Element;
|
|
4
|
+
declare function LivePlayer({ list, children, onIndexChange, onClose, onCloseAll, snapshot, defaultScreen, screenChange, defaultSelectIndex, oneWinExtTools, allWinExtTools, ...options }: ILivePlayerProps): JSX.Element;
|
|
5
5
|
declare namespace LivePlayer {
|
|
6
6
|
var defaultProps: {
|
|
7
7
|
list: any[];
|
package/es/ScreenPlayer/Live.js
CHANGED
|
@@ -38,7 +38,9 @@ function LivePlayer(_a) {
|
|
|
38
38
|
defaultScreen = _a.defaultScreen,
|
|
39
39
|
screenChange = _a.screenChange,
|
|
40
40
|
defaultSelectIndex = _a.defaultSelectIndex,
|
|
41
|
-
|
|
41
|
+
oneWinExtTools = _a.oneWinExtTools,
|
|
42
|
+
allWinExtTools = _a.allWinExtTools,
|
|
43
|
+
options = __rest(_a, ["list", "children", "onIndexChange", "onClose", "onCloseAll", "snapshot", "defaultScreen", "screenChange", "defaultSelectIndex", "oneWinExtTools", "allWinExtTools"]);
|
|
42
44
|
|
|
43
45
|
var _useState = useState({
|
|
44
46
|
screenNum: defaultScreen !== null && defaultScreen !== void 0 ? defaultScreen : 4,
|
|
@@ -184,7 +186,9 @@ function LivePlayer(_a) {
|
|
|
184
186
|
mode: state.modes[state.selectIndex],
|
|
185
187
|
containerRef: domRef,
|
|
186
188
|
updateState: updateState,
|
|
187
|
-
snapshot: snapshot
|
|
189
|
+
snapshot: snapshot,
|
|
190
|
+
oneWinExtTools: oneWinExtTools,
|
|
191
|
+
allWinExtTools: allWinExtTools
|
|
188
192
|
}), children && /*#__PURE__*/React.cloneElement(children, {
|
|
189
193
|
selectIndex: state.selectIndex
|
|
190
194
|
}));
|
|
@@ -16,6 +16,14 @@ interface IToolsProps {
|
|
|
16
16
|
onCloseAll?: () => void;
|
|
17
17
|
disabled: boolean;
|
|
18
18
|
snapshot?: (base64?: string) => void;
|
|
19
|
+
/**
|
|
20
|
+
* 单窗口拓展工具条,左侧
|
|
21
|
+
*/
|
|
22
|
+
oneWinExtTools?: JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* 全局窗口工具条,右侧
|
|
25
|
+
*/
|
|
26
|
+
allWinExtTools?: JSX.Element;
|
|
19
27
|
}
|
|
20
|
-
declare function LiveTools({ containerRef, updateState, screenNum, getPlayerItem, mode, toggleFit, fit, onClose, onCloseAll, disabled, snapshot }: IToolsProps): JSX.Element;
|
|
28
|
+
declare function LiveTools({ containerRef, oneWinExtTools, allWinExtTools, updateState, screenNum, getPlayerItem, mode, toggleFit, fit, onClose, onCloseAll, disabled, snapshot, }: IToolsProps): JSX.Element;
|
|
21
29
|
export default LiveTools;
|
|
@@ -21,6 +21,8 @@ import useFullscreen from '../useFullscreen';
|
|
|
21
21
|
|
|
22
22
|
function LiveTools(_ref) {
|
|
23
23
|
var containerRef = _ref.containerRef,
|
|
24
|
+
oneWinExtTools = _ref.oneWinExtTools,
|
|
25
|
+
allWinExtTools = _ref.allWinExtTools,
|
|
24
26
|
updateState = _ref.updateState,
|
|
25
27
|
screenNum = _ref.screenNum,
|
|
26
28
|
getPlayerItem = _ref.getPlayerItem,
|
|
@@ -71,7 +73,8 @@ function LiveTools(_ref) {
|
|
|
71
73
|
return /*#__PURE__*/React.createElement("div", {
|
|
72
74
|
className: "player-tools"
|
|
73
75
|
}, /*#__PURE__*/React.createElement(DisableMark, {
|
|
74
|
-
disabled: disabled
|
|
76
|
+
disabled: disabled,
|
|
77
|
+
width: "70%"
|
|
75
78
|
}, /*#__PURE__*/React.createElement("div", {
|
|
76
79
|
className: "player-tools-left"
|
|
77
80
|
}, /*#__PURE__*/React.createElement("span", {
|
|
@@ -120,7 +123,7 @@ function LiveTools(_ref) {
|
|
|
120
123
|
position: 'relative',
|
|
121
124
|
top: 1
|
|
122
125
|
}
|
|
123
|
-
}))), /*#__PURE__*/React.createElement("div", {
|
|
126
|
+
})), oneWinExtTools), /*#__PURE__*/React.createElement("div", {
|
|
124
127
|
className: "player-tools-mid"
|
|
125
128
|
}, /*#__PURE__*/React.createElement("div", {
|
|
126
129
|
className: "player-tools-item",
|
|
@@ -147,7 +150,7 @@ function LiveTools(_ref) {
|
|
|
147
150
|
title: "\u64AD\u653E"
|
|
148
151
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
149
152
|
className: "player-tools-right"
|
|
150
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
153
|
+
}, allWinExtTools, /*#__PURE__*/React.createElement("span", {
|
|
151
154
|
className: "player-tools-item",
|
|
152
155
|
onClick: onCloseAll
|
|
153
156
|
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
@@ -6,5 +6,5 @@ import './index.less';
|
|
|
6
6
|
* @param param0
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
declare function RecordPlayer({ list, children, queryRecord, onIndexChange, onClose, onCloseAll, download, snapshot, defaultScreen, screenChange, defaultSelectIndex, ...options }: IRecordPlayerProps): JSX.Element;
|
|
9
|
+
declare function RecordPlayer({ list, children, queryRecord, onIndexChange, onClose, onCloseAll, download, snapshot, defaultScreen, screenChange, defaultSelectIndex, oneWinExtTools, allWinExtTools, ...options }: IRecordPlayerProps): JSX.Element;
|
|
10
10
|
export default RecordPlayer;
|
|
@@ -67,7 +67,9 @@ function RecordPlayer(_a) {
|
|
|
67
67
|
defaultScreen = _a.defaultScreen,
|
|
68
68
|
screenChange = _a.screenChange,
|
|
69
69
|
defaultSelectIndex = _a.defaultSelectIndex,
|
|
70
|
-
|
|
70
|
+
oneWinExtTools = _a.oneWinExtTools,
|
|
71
|
+
allWinExtTools = _a.allWinExtTools,
|
|
72
|
+
options = __rest(_a, ["list", "children", "queryRecord", "onIndexChange", "onClose", "onCloseAll", "download", "snapshot", "defaultScreen", "screenChange", "defaultSelectIndex", "oneWinExtTools", "allWinExtTools"]);
|
|
71
73
|
|
|
72
74
|
var _useState = useState(Object.assign(Object.assign({}, defaultState), {
|
|
73
75
|
screenNum: defaultScreen !== null && defaultScreen !== void 0 ? defaultScreen : defaultState.screenNum
|
|
@@ -411,7 +413,8 @@ function RecordPlayer(_a) {
|
|
|
411
413
|
})), /*#__PURE__*/React.createElement("div", {
|
|
412
414
|
className: "player-tools-group"
|
|
413
415
|
}, /*#__PURE__*/React.createElement(DisableMark, {
|
|
414
|
-
disabled: !segmentItem.cid
|
|
416
|
+
disabled: !segmentItem.cid,
|
|
417
|
+
width: "70%"
|
|
415
418
|
}, /*#__PURE__*/React.createElement(RecordTools, {
|
|
416
419
|
time: state.currentTimes[state.selectIndex],
|
|
417
420
|
fit: fit,
|
|
@@ -426,7 +429,9 @@ function RecordPlayer(_a) {
|
|
|
426
429
|
onCloseAll: onCloseAll,
|
|
427
430
|
timeMode: state.timeMode,
|
|
428
431
|
download: download,
|
|
429
|
-
snapshot: snapshot
|
|
432
|
+
snapshot: snapshot,
|
|
433
|
+
oneWinExtTools: oneWinExtTools,
|
|
434
|
+
allWinExtTools: allWinExtTools
|
|
430
435
|
}), /*#__PURE__*/React.createElement(SegmentTimeLine, {
|
|
431
436
|
begin: timeBegin,
|
|
432
437
|
updateState: updateState,
|
|
@@ -20,6 +20,14 @@ interface IToolsProps {
|
|
|
20
20
|
timeMode: number;
|
|
21
21
|
download?: () => void;
|
|
22
22
|
snapshot?: (base64: string) => void;
|
|
23
|
+
/**
|
|
24
|
+
* 单窗口拓展工具条,左侧
|
|
25
|
+
*/
|
|
26
|
+
oneWinExtTools?: JSX.Element;
|
|
27
|
+
/**
|
|
28
|
+
* 全局窗口工具条,右侧
|
|
29
|
+
*/
|
|
30
|
+
allWinExtTools?: JSX.Element;
|
|
23
31
|
}
|
|
24
|
-
declare function RecordTools({ containerRef, updateState, download, screenNum, timeMode, getPlayerItem, mode, toggleFit, fit, time, onTimeChange, onClose, onCloseAll, snapshot, }: IToolsProps): JSX.Element;
|
|
32
|
+
declare function RecordTools({ containerRef, updateState, download, screenNum, timeMode, getPlayerItem, mode, toggleFit, fit, time, onTimeChange, onClose, onCloseAll, snapshot, oneWinExtTools, allWinExtTools, }: IToolsProps): JSX.Element;
|
|
25
33
|
export default RecordTools;
|
|
@@ -34,7 +34,9 @@ function RecordTools(_ref) {
|
|
|
34
34
|
onTimeChange = _ref.onTimeChange,
|
|
35
35
|
onClose = _ref.onClose,
|
|
36
36
|
onCloseAll = _ref.onCloseAll,
|
|
37
|
-
snapshot = _ref.snapshot
|
|
37
|
+
snapshot = _ref.snapshot,
|
|
38
|
+
oneWinExtTools = _ref.oneWinExtTools,
|
|
39
|
+
allWinExtTools = _ref.allWinExtTools;
|
|
38
40
|
|
|
39
41
|
var _useFullscreen = useFullscreen(containerRef),
|
|
40
42
|
_useFullscreen2 = _slicedToArray(_useFullscreen, 2),
|
|
@@ -114,7 +116,7 @@ function RecordTools(_ref) {
|
|
|
114
116
|
},
|
|
115
117
|
type: "lm-player-S_Device_shezhi",
|
|
116
118
|
title: "\u5207\u6362".concat(mode === 1 ? '插件' : '浏览器', "\u6A21\u5F0F")
|
|
117
|
-
}))), /*#__PURE__*/React.createElement("div", {
|
|
119
|
+
})), oneWinExtTools), /*#__PURE__*/React.createElement("div", {
|
|
118
120
|
className: "player-tools-mid"
|
|
119
121
|
}, /*#__PURE__*/React.createElement("div", {
|
|
120
122
|
className: "player-tools-item",
|
|
@@ -148,7 +150,7 @@ function RecordTools(_ref) {
|
|
|
148
150
|
title: "\u64AD\u653E"
|
|
149
151
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
150
152
|
className: "player-tools-right"
|
|
151
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
153
|
+
}, allWinExtTools, /*#__PURE__*/React.createElement("span", {
|
|
152
154
|
className: "player-tools-item",
|
|
153
155
|
onClick: onCloseAll
|
|
154
156
|
}, /*#__PURE__*/React.createElement(IconFont, {
|
|
@@ -40,15 +40,40 @@ export interface IRecordPlayerProps {
|
|
|
40
40
|
*/
|
|
41
41
|
download?: () => void;
|
|
42
42
|
|
|
43
|
+
/**
|
|
44
|
+
* 截图
|
|
45
|
+
*/
|
|
43
46
|
snapshot?: (base64: string) => void;
|
|
44
47
|
|
|
48
|
+
/**
|
|
49
|
+
* 窗口变化
|
|
50
|
+
*/
|
|
45
51
|
screenChange?: (num: number) => void;
|
|
46
52
|
|
|
53
|
+
/**
|
|
54
|
+
* 默认窗口数量
|
|
55
|
+
*/
|
|
47
56
|
defaultScreen?: 1 | 4 | 6 | 9 | 16;
|
|
48
57
|
|
|
58
|
+
/**
|
|
59
|
+
* 窗口数量,若有值数量将由外部控制
|
|
60
|
+
*/
|
|
49
61
|
screenNum?: 1 | 4 | 6 | 9 | 16;
|
|
50
62
|
|
|
63
|
+
/**
|
|
64
|
+
* 默认选中窗口
|
|
65
|
+
* @default 0
|
|
66
|
+
*/
|
|
51
67
|
defaultSelectIndex?: number;
|
|
68
|
+
/**
|
|
69
|
+
* 单窗口拓展工具条,左侧
|
|
70
|
+
*/
|
|
71
|
+
oneWinExtTools?: JSX.Element;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 全局窗口工具条,右侧
|
|
75
|
+
*/
|
|
76
|
+
allWinExtTools?: JSX.Element;
|
|
52
77
|
}
|
|
53
78
|
|
|
54
79
|
export interface IRecordPlayerState {
|
|
@@ -118,15 +143,41 @@ export interface ILivePlayerProps {
|
|
|
118
143
|
*/
|
|
119
144
|
onIndexChange?: (idx: number) => void;
|
|
120
145
|
|
|
146
|
+
/**
|
|
147
|
+
* 截图
|
|
148
|
+
*/
|
|
121
149
|
snapshot?: (base64: string) => void;
|
|
122
150
|
|
|
151
|
+
/**
|
|
152
|
+
* 窗口变化
|
|
153
|
+
*/
|
|
123
154
|
screenChange?: (num: number) => void;
|
|
124
155
|
|
|
156
|
+
/**
|
|
157
|
+
* 默认窗口数量
|
|
158
|
+
*/
|
|
125
159
|
defaultScreen?: 1 | 4 | 6 | 9 | 16;
|
|
126
160
|
|
|
161
|
+
/**
|
|
162
|
+
* 窗口数量,若有值由外部来完全控制
|
|
163
|
+
*/
|
|
127
164
|
screenNum?: 1 | 4 | 6 | 9 | 16;
|
|
128
165
|
|
|
166
|
+
/**
|
|
167
|
+
* 默认选中窗口
|
|
168
|
+
* @default 0
|
|
169
|
+
*/
|
|
129
170
|
defaultSelectIndex?: number;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* 单窗口拓展工具条,左侧
|
|
174
|
+
*/
|
|
175
|
+
oneWinExtTools?: JSX.Element;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* 全局窗口工具条,右侧
|
|
179
|
+
*/
|
|
180
|
+
allWinExtTools?: JSX.Element;
|
|
130
181
|
}
|
|
131
182
|
|
|
132
183
|
export interface ILivePlayerState {
|