@cloud-app-dev/vidc 4.0.17 → 4.1.0
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/.dumirc.ts +1 -1
- package/.eslintrc.js +3 -0
- package/.fatherrc.ts +0 -6
- package/es/AppContext/Sync.d.ts +7 -0
- package/es/AppContext/Sync.js +44 -0
- package/es/AppContext/index.d.ts +17 -0
- package/es/AppContext/index.js +154 -0
- package/es/AppContext/interface.d.ts +42 -0
- package/es/AppContext/static.d.ts +8 -0
- package/es/AppContext/static.js +9 -0
- package/es/CheckGroupFixed/demo.d.ts +2 -0
- package/es/CheckGroupFixed/demo.js +20 -0
- package/es/CheckGroupFixed/index.d.ts +22 -0
- package/es/CheckGroupFixed/index.js +150 -0
- package/es/CheckGroupFixed/style.d.ts +6 -0
- package/es/CheckGroupFixed/style.js +9 -0
- package/es/Config/index.d.ts +4 -0
- package/es/Config/index.js +77 -0
- package/es/Config/interface.d.ts +65 -0
- package/es/Config/utils.d.ts +4 -0
- package/es/Config/utils.js +33 -0
- package/es/CustomRenderSelect/index.d.ts +13 -0
- package/es/CustomRenderSelect/index.js +86 -0
- package/es/DBTools/index.d.ts +25 -0
- package/es/DBTools/index.js +336 -0
- package/es/DisableMark/index.d.ts +8 -0
- package/es/DisableMark/index.js +25 -0
- package/es/DomMove/demo.d.ts +1 -0
- package/es/DomMove/demo.js +19 -0
- package/es/DomMove/index.d.ts +16 -0
- package/es/DomMove/index.js +148 -0
- package/es/DomMove/utils.d.ts +8 -0
- package/es/DomMove/utils.js +33 -0
- package/es/Drag/DragAndDropItem.d.ts +4 -0
- package/es/Drag/DragAndDropItem.js +133 -0
- package/es/Drag/DropItem.d.ts +4 -0
- package/es/Drag/DropItem.js +50 -0
- package/es/Drag/index.d.ts +7 -0
- package/es/Drag/index.js +7 -0
- package/es/Drag/interface.d.ts +16 -0
- package/es/DynamicGridList/demo.d.ts +2 -0
- package/es/DynamicGridList/demo.js +86 -0
- package/es/DynamicGridList/index.d.ts +27 -0
- package/es/DynamicGridList/index.js +71 -0
- package/es/DynamicList/demo.d.ts +1 -0
- package/es/DynamicList/demo.js +45 -0
- package/es/DynamicList/index.d.ts +30 -0
- package/es/DynamicList/index.js +98 -0
- package/es/DynamicList/interface.d.ts +19 -0
- package/es/DynamicList/utils.d.ts +4 -0
- package/es/DynamicList/utils.js +6 -0
- package/es/ErrorFallback/index.d.ts +8 -0
- package/es/ErrorFallback/index.js +38 -0
- package/es/ErrorFallback/inerface.d.ts +48 -0
- package/es/EventTools/index.d.ts +3 -0
- package/es/EventTools/index.js +12 -0
- package/es/FrontendPlayer/index.d.ts +4 -0
- package/es/FrontendPlayer/index.js +2 -0
- package/es/GridList/data.d.ts +16 -0
- package/es/GridList/data.js +609 -0
- package/es/GridList/demo.d.ts +2 -0
- package/es/GridList/demo.js +89 -0
- package/es/GridList/hook.d.ts +13 -0
- package/es/GridList/hook.js +270 -0
- package/es/GridList/index.d.ts +14 -0
- package/es/GridList/index.js +51 -0
- package/es/GridList/interface.d.ts +59 -0
- package/es/GridList/utils.d.ts +9 -0
- package/es/GridList/utils.js +42 -0
- package/es/HightLevel/index.d.ts +8 -0
- package/es/HightLevel/index.js +20 -0
- package/es/IconFont/index.d.ts +12 -0
- package/es/IconFont/index.js +63 -0
- package/es/InstanceHistory/index.d.ts +3 -0
- package/es/InstanceHistory/index.js +7 -0
- package/es/LabelValue/index.d.ts +14 -0
- package/es/LabelValue/index.js +35 -0
- package/es/List/demo.d.ts +2 -0
- package/es/List/demo.js +25 -0
- package/es/List/index.d.ts +27 -0
- package/es/List/index.js +38 -0
- package/es/ListWithSizeAnimate/demo.d.ts +1 -0
- package/es/ListWithSizeAnimate/demo.js +128 -0
- package/es/ListWithSizeAnimate/index.d.ts +13 -0
- package/es/ListWithSizeAnimate/index.js +106 -0
- package/es/LoaderScript/index.d.ts +47 -0
- package/es/LoaderScript/index.js +38 -0
- package/es/LoaderScript/utils.d.ts +13 -0
- package/es/LoaderScript/utils.js +179 -0
- package/es/Picture/component/DefaultRects/RectInfo.d.ts +7 -0
- package/es/Picture/component/DefaultRects/RectInfo.js +90 -0
- package/es/Picture/component/DefaultRects/index.d.ts +11 -0
- package/es/Picture/component/DefaultRects/index.js +58 -0
- package/es/Picture/component/DefaultRects/style.d.ts +10 -0
- package/es/Picture/component/DefaultRects/style.js +28 -0
- package/es/Picture/component/DefaultRects/utils.d.ts +2 -0
- package/es/Picture/component/DefaultRects/utils.js +11 -0
- package/es/Picture/component/DrawRect/index.d.ts +11 -0
- package/es/Picture/component/DrawRect/index.js +54 -0
- package/es/Picture/component/RectMenu/index.d.ts +10 -0
- package/es/Picture/component/RectMenu/index.js +84 -0
- package/es/Picture/component/RectMenu/utils.d.ts +12 -0
- package/es/Picture/component/RectMenu/utils.js +19 -0
- package/es/Picture/component/Tools/index.d.ts +11 -0
- package/es/Picture/component/Tools/index.js +105 -0
- package/es/Picture/component/Tools/style.d.ts +2 -0
- package/es/Picture/component/Tools/style.js +5 -0
- package/es/Picture/component/WheelScale/index.d.ts +6 -0
- package/es/Picture/component/WheelScale/index.js +29 -0
- package/es/Picture/demo.d.ts +1 -0
- package/es/Picture/demo.js +114 -0
- package/es/Picture/index.d.ts +17 -0
- package/es/Picture/index.js +356 -0
- package/es/Picture/interface.d.ts +196 -0
- package/es/Picture/loadCaptureRectImage.d.ts +3 -0
- package/es/Picture/loadCaptureRectImage.js +99 -0
- package/es/Picture/useDraw.d.ts +1 -0
- package/es/Picture/useDraw.js +103 -0
- package/es/Picture/utils.d.ts +26 -0
- package/es/Picture/utils.js +143 -0
- package/es/Player/api/index.d.ts +68 -0
- package/es/Player/api/index.js +309 -0
- package/es/Player/context.d.ts +21 -0
- package/es/Player/context.js +25 -0
- package/es/Player/contraller_bar/bar.d.ts +8 -0
- package/es/Player/contraller_bar/bar.js +32 -0
- package/es/Player/contraller_bar/contraller_event.d.ts +6 -0
- package/es/Player/contraller_bar/contraller_event.js +52 -0
- package/es/Player/contraller_bar/index.d.ts +13 -0
- package/es/Player/contraller_bar/index.js +39 -0
- package/es/Player/contraller_bar/left_bar.d.ts +10 -0
- package/es/Player/contraller_bar/left_bar.js +97 -0
- package/es/Player/contraller_bar/right_bar.d.ts +8 -0
- package/es/Player/contraller_bar/right_bar.js +36 -0
- package/es/Player/contraller_bar/time.d.ts +2 -0
- package/es/Player/contraller_bar/time.js +24 -0
- package/es/Player/contraller_bar/useBarStatus.d.ts +2 -0
- package/es/Player/contraller_bar/useBarStatus.js +43 -0
- package/es/Player/contraller_bar/volume.d.ts +8 -0
- package/es/Player/contraller_bar/volume.js +70 -0
- package/es/Player/demo.d.ts +2 -0
- package/es/Player/demo.js +289 -0
- package/es/Player/empty.d.ts +1 -0
- package/es/Player/empty.js +5 -0
- package/es/Player/event/errorEvent.d.ts +14 -0
- package/es/Player/event/errorEvent.js +88 -0
- package/es/Player/event/eventName.d.ts +18 -0
- package/es/Player/event/eventName.js +30 -0
- package/es/Player/event/index.d.ts +24 -0
- package/es/Player/event/index.js +205 -0
- package/es/Player/fps_play.d.ts +10 -0
- package/es/Player/fps_play.js +88 -0
- package/es/Player/frontend_player.d.ts +7 -0
- package/es/Player/frontend_player.js +71 -0
- package/es/Player/frontend_timeline.d.ts +8 -0
- package/es/Player/frontend_timeline.js +153 -0
- package/es/Player/iconfont.d.ts +4 -0
- package/es/Player/iconfont.js +21 -0
- package/es/Player/index.d.ts +2 -0
- package/es/Player/index.js +2 -0
- package/es/Player/live_heart.d.ts +8 -0
- package/es/Player/live_heart.js +45 -0
- package/es/Player/message.d.ts +3 -0
- package/es/Player/message.js +147 -0
- package/es/Player/player.d.ts +233 -0
- package/es/Player/segment_player.d.ts +8 -0
- package/es/Player/segment_player.js +229 -0
- package/es/Player/segment_timeline.d.ts +10 -0
- package/es/Player/segment_timeline.js +200 -0
- package/es/Player/single_player.d.ts +4 -0
- package/es/Player/single_player.js +278 -0
- package/es/Player/style/iconfont.js +43 -0
- package/es/Player/timeline.d.ts +7 -0
- package/es/Player/timeline.js +104 -0
- package/es/Player/util.d.ts +43 -0
- package/es/Player/util.js +189 -0
- package/es/PlayerExt/demo.d.ts +2 -0
- package/es/PlayerExt/demo.js +170 -0
- package/es/PlayerExt/index.d.ts +47 -0
- package/es/PlayerExt/index.js +212 -0
- package/es/Progress/index.d.ts +10 -0
- package/es/Progress/index.js +60 -0
- package/es/ROI/demo.d.ts +2 -0
- package/es/ROI/demo.js +17 -0
- package/es/ROI/index.d.ts +32 -0
- package/es/ROI/index.js +67 -0
- package/es/RefDrawer/Footer.d.ts +9 -0
- package/es/RefDrawer/Footer.js +27 -0
- package/es/RefDrawer/demo.d.ts +3 -0
- package/es/RefDrawer/demo.js +32 -0
- package/es/RefDrawer/index.d.ts +26 -0
- package/es/RefDrawer/index.js +73 -0
- package/es/RefModal/demo.d.ts +2 -0
- package/es/RefModal/demo.js +32 -0
- package/es/RefModal/index.d.ts +17 -0
- package/es/RefModal/index.js +71 -0
- package/es/ScreenPlayer/Live.d.ts +8 -0
- package/es/ScreenPlayer/Live.js +219 -0
- package/es/ScreenPlayer/LiveTools.d.ts +33 -0
- package/es/ScreenPlayer/LiveTools.js +172 -0
- package/es/ScreenPlayer/PlayerWithExt.d.ts +34 -0
- package/es/ScreenPlayer/PlayerWithExt.js +241 -0
- package/es/ScreenPlayer/RatePick.d.ts +7 -0
- package/es/ScreenPlayer/RatePick.js +35 -0
- package/es/ScreenPlayer/Record.d.ts +8 -0
- package/es/ScreenPlayer/Record.js +452 -0
- package/es/ScreenPlayer/RecordTools.d.ts +38 -0
- package/es/ScreenPlayer/RecordTools.js +214 -0
- package/es/ScreenPlayer/ScreenSelect.d.ts +6 -0
- package/es/ScreenPlayer/ScreenSelect.js +59 -0
- package/es/ScreenPlayer/SegmentTimeLine.d.ts +16 -0
- package/es/ScreenPlayer/SegmentTimeLine.js +44 -0
- package/es/ScreenPlayer/TimeMode.d.ts +6 -0
- package/es/ScreenPlayer/TimeMode.js +34 -0
- package/es/ScreenPlayer/TimeSelect.d.ts +6 -0
- package/es/ScreenPlayer/TimeSelect.js +99 -0
- package/es/ScreenPlayer/containerStyle.d.ts +13 -0
- package/es/ScreenPlayer/containerStyle.js +32 -0
- package/es/ScreenPlayer/demo.d.ts +1 -0
- package/es/ScreenPlayer/demo.js +19 -0
- package/es/ScreenPlayer/demo2.d.ts +1 -0
- package/es/ScreenPlayer/demo2.js +196 -0
- package/es/ScreenPlayer/index.d.ts +6 -0
- package/es/ScreenPlayer/index.js +9 -0
- package/es/ScreenPlayer/interface.d.ts +216 -0
- package/es/ScreenPlayer/useTimeSlider.d.ts +25 -0
- package/es/ScreenPlayer/useTimeSlider.js +451 -0
- package/es/ScreenPlayer/useVideoFit.d.ts +5 -0
- package/es/ScreenPlayer/useVideoFit.js +35 -0
- package/es/ScreenPlayer/utils.d.ts +17 -0
- package/es/ScreenPlayer/utils.js +85 -0
- package/es/SegmentPlayer/index.d.ts +2 -0
- package/es/SegmentPlayer/index.js +2 -0
- package/es/Service/http.d.ts +6 -0
- package/es/Service/http.js +125 -0
- package/es/Service/index.d.ts +3 -0
- package/es/Service/index.js +10 -0
- package/es/Service/interface.d.ts +22 -0
- package/es/Service/middleware.d.ts +5 -0
- package/es/Service/middleware.js +15 -0
- package/es/SocketEmitter/eventEmitter.d.ts +27 -0
- package/es/SocketEmitter/eventEmitter.js +88 -0
- package/es/SocketEmitter/index.d.ts +24 -0
- package/es/SocketEmitter/index.js +125 -0
- package/es/SocketEmitter/interface.d.ts +4 -0
- package/es/TableLayout/index.d.ts +9 -0
- package/es/TableLayout/index.js +32 -0
- package/es/Timeout/index.d.ts +31 -0
- package/es/Timeout/index.js +69 -0
- package/es/cache/index.d.ts +34 -0
- package/es/cache/index.js +94 -0
- package/es/copy/index.d.ts +1 -0
- package/es/copy/index.js +9 -0
- package/es/core.d.ts +0 -0
- package/es/getThemeStyle/index.d.ts +2 -0
- package/es/getThemeStyle/index.js +5 -0
- package/es/index.d.ts +52 -0
- package/es/index.js +52 -0
- package/es/likeGo/index.d.ts +2 -0
- package/es/likeGo/index.js +31 -0
- package/es/likeGoSync/index.d.ts +2 -0
- package/es/likeGoSync/index.js +10 -0
- package/es/logger/index.d.ts +7 -0
- package/es/logger/index.js +30 -0
- package/es/nextTick/index.d.ts +1 -0
- package/es/nextTick/index.js +3 -0
- package/es/recorder/demo.d.ts +2 -0
- package/es/recorder/demo.js +200 -0
- package/es/recorder/index.d.ts +294 -0
- package/es/recorder/index.js +991 -0
- package/es/submidstr/index.d.ts +5 -0
- package/es/submidstr/index.js +14 -0
- package/es/treeHelper/index.d.ts +11 -0
- package/es/treeHelper/index.js +189 -0
- package/es/typings.d.ts +2 -0
- package/es/useDrawROI/index.d.ts +16 -0
- package/es/useDrawROI/index.js +318 -0
- package/es/useEventEmitterHandle/index.d.ts +2 -0
- package/es/useEventEmitterHandle/index.js +17 -0
- package/es/useHistory/index.d.ts +3 -0
- package/es/useHistory/index.js +9 -0
- package/es/useHistory/interface.d.ts +3 -0
- package/es/useInfiniteScroll/index.d.ts +16 -0
- package/es/useInfiniteScroll/index.js +102 -0
- package/es/useRafInterval/index.d.ts +5 -0
- package/es/useRafInterval/index.js +70 -0
- package/es/useSimpleState/index.d.ts +3 -0
- package/es/useSimpleState/index.js +35 -0
- package/es/useVirtualList/index.d.ts +13 -0
- package/es/useVirtualList/index.js +136 -0
- package/es/utils.d.ts +14 -0
- package/es/utils.js +46 -0
- package/es/uuid/index.d.ts +5 -0
- package/es/uuid/index.js +6 -0
- package/package.json +16 -21
- package/release-build.sh +2 -0
- package/scripts/{entry.js → entry.mjs} +4 -6
- package/{icon-fix.js → scripts/icon-fix.mjs} +4 -3
- package/tsconfig.json +1 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["segments", "begin", "forwordRef", "defaultIndex", "onCanPlayerInit", "customTimeLine"];
|
|
3
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
10
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
|
+
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."); }
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
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; } }
|
|
15
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
|
+
import { useLatest, useUpdate } from 'ahooks';
|
|
17
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
18
|
+
import { useRegisterPlayerEvent, useVideoEvent } from "./event";
|
|
19
|
+
import Events from "./event/eventName";
|
|
20
|
+
import SegmentTimeLine from "./segment_timeline";
|
|
21
|
+
import SinglePlayer from "./single_player";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @desc 计算第一个url
|
|
25
|
+
* @param segments
|
|
26
|
+
* @param defaultIndex
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
30
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
31
|
+
function getFirstUrlIndex(segments) {
|
|
32
|
+
var defaultIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
33
|
+
if (!(Array.isArray(segments) && segments.length > 0)) {
|
|
34
|
+
return defaultIndex;
|
|
35
|
+
}
|
|
36
|
+
if (segments[defaultIndex].url) {
|
|
37
|
+
return defaultIndex;
|
|
38
|
+
} else {
|
|
39
|
+
var i = defaultIndex + 1;
|
|
40
|
+
if (i > segments.length) {
|
|
41
|
+
return i;
|
|
42
|
+
}
|
|
43
|
+
return getFirstUrlIndex(segments, i);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* @desc 片段索引控制
|
|
49
|
+
* @param event
|
|
50
|
+
* @param segments
|
|
51
|
+
* @returns
|
|
52
|
+
*/
|
|
53
|
+
function usePlayIndex(event, segments) {
|
|
54
|
+
var defaultIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
55
|
+
var _useState = useState({
|
|
56
|
+
index: getFirstUrlIndex(segments !== null && segments !== void 0 ? segments : [], defaultIndex)
|
|
57
|
+
}),
|
|
58
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
59
|
+
state = _useState2[0],
|
|
60
|
+
setState = _useState2[1];
|
|
61
|
+
// 片段发生变化重新开始计算索引
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
var index = getFirstUrlIndex(segments !== null && segments !== void 0 ? segments : [], 0);
|
|
64
|
+
setState(function (old) {
|
|
65
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
66
|
+
index: index
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}, [segments]);
|
|
70
|
+
|
|
71
|
+
// 索引不存在播放地址,自动跳转下一段
|
|
72
|
+
useEffect(function () {
|
|
73
|
+
var _segments$state$index, _segments$length;
|
|
74
|
+
if (!(segments !== null && segments !== void 0 && (_segments$state$index = segments[state.index]) !== null && _segments$state$index !== void 0 && _segments$state$index.url) && state.index < ((_segments$length = segments === null || segments === void 0 ? void 0 : segments.length) !== null && _segments$length !== void 0 ? _segments$length : 0) - 1) {
|
|
75
|
+
setState(function (old) {
|
|
76
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
77
|
+
index: old.index + 1
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}, [segments, state.index]);
|
|
82
|
+
|
|
83
|
+
// 监听片段播放状态,自动跳转下一个片段
|
|
84
|
+
var endHandle = function endHandle() {
|
|
85
|
+
return setState(function (old) {
|
|
86
|
+
var _segments$length2;
|
|
87
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
88
|
+
index: old.index + 1 < ((_segments$length2 = segments === null || segments === void 0 ? void 0 : segments.length) !== null && _segments$length2 !== void 0 ? _segments$length2 : 0) ? old.index + 1 : old.index
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
useVideoEvent('ended', endHandle, event);
|
|
93
|
+
useRegisterPlayerEvent(Events.PLAY_ENDED, endHandle, event);
|
|
94
|
+
return {
|
|
95
|
+
index: state.index,
|
|
96
|
+
setIndex: function setIndex(i) {
|
|
97
|
+
return setState(function (old) {
|
|
98
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
99
|
+
index: i
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* @desc 主组件,负责片段整体逻辑控制
|
|
108
|
+
* @param param0
|
|
109
|
+
* @returns
|
|
110
|
+
*/
|
|
111
|
+
function SegmentPlayer(_ref) {
|
|
112
|
+
var segments = _ref.segments,
|
|
113
|
+
begin = _ref.begin,
|
|
114
|
+
forwordRef = _ref.forwordRef,
|
|
115
|
+
defaultIndex = _ref.defaultIndex,
|
|
116
|
+
onCanPlayerInit = _ref.onCanPlayerInit,
|
|
117
|
+
customTimeLine = _ref.customTimeLine,
|
|
118
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
119
|
+
var _useState3 = useState({
|
|
120
|
+
seekTime: 0
|
|
121
|
+
}),
|
|
122
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
123
|
+
state = _useState4[0],
|
|
124
|
+
setState = _useState4[1];
|
|
125
|
+
var latestSegmentsRef = useLatest(segments);
|
|
126
|
+
var update = useUpdate();
|
|
127
|
+
var ref = useRef(null);
|
|
128
|
+
var playRef = forwordRef ? forwordRef : ref;
|
|
129
|
+
var _ref2 = playRef.current || {},
|
|
130
|
+
api = _ref2.api,
|
|
131
|
+
event = _ref2.event;
|
|
132
|
+
var duration = useMemo(function () {
|
|
133
|
+
return segments === null || segments === void 0 ? void 0 : segments.map(function (v) {
|
|
134
|
+
return (v.endTime - v.beginTime) / 1000;
|
|
135
|
+
}).reduce(function (a, b) {
|
|
136
|
+
return a + b;
|
|
137
|
+
}, 0);
|
|
138
|
+
}, [segments]);
|
|
139
|
+
var _usePlayIndex = usePlayIndex(event, segments, defaultIndex),
|
|
140
|
+
index = _usePlayIndex.index,
|
|
141
|
+
setIndex = _usePlayIndex.setIndex;
|
|
142
|
+
var url = useMemo(function () {
|
|
143
|
+
return segments !== null && segments !== void 0 && segments[index] ? segments[index].url : undefined;
|
|
144
|
+
}, [segments, index]);
|
|
145
|
+
// 重置reload
|
|
146
|
+
var reload = function reload() {
|
|
147
|
+
var _playRef$current$plug, _playRef$current, _playRef$current2, _playRef$current3, _playRef$current4;
|
|
148
|
+
var _ref3 = (_playRef$current$plug = (_playRef$current = playRef.current) === null || _playRef$current === void 0 ? void 0 : _playRef$current.plugins) !== null && _playRef$current$plug !== void 0 ? _playRef$current$plug : [],
|
|
149
|
+
_ref4 = _slicedToArray(_ref3, 2),
|
|
150
|
+
hls = _ref4[1];
|
|
151
|
+
if (hls) {
|
|
152
|
+
hls.swapAudioCodec();
|
|
153
|
+
hls.recoverMediaError();
|
|
154
|
+
}
|
|
155
|
+
(_playRef$current2 = playRef.current) === null || _playRef$current2 === void 0 ? void 0 : _playRef$current2.event.emit(Events.RELOAD);
|
|
156
|
+
(_playRef$current3 = playRef.current) === null || _playRef$current3 === void 0 ? void 0 : _playRef$current3.event.emit(Events.CLEAR_ERROR_TIMER);
|
|
157
|
+
setIndex(0);
|
|
158
|
+
(_playRef$current4 = playRef.current) === null || _playRef$current4 === void 0 ? void 0 : _playRef$current4.api.reload();
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
// time 毫秒的时间戳
|
|
162
|
+
var seekTo = function seekTo(time) {
|
|
163
|
+
var _latestSegmentsRef$cu, _playRef$current$plug2, _playRef$current5, _cSegments$index;
|
|
164
|
+
var cSegments = (_latestSegmentsRef$cu = latestSegmentsRef.current) !== null && _latestSegmentsRef$cu !== void 0 ? _latestSegmentsRef$cu : [];
|
|
165
|
+
var index = cSegments.findIndex(function (v) {
|
|
166
|
+
return time >= v.beginTime && time < v.endTime;
|
|
167
|
+
});
|
|
168
|
+
if (index === -1) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
var _ref5 = (_playRef$current$plug2 = (_playRef$current5 = playRef.current) === null || _playRef$current5 === void 0 ? void 0 : _playRef$current5.plugins) !== null && _playRef$current$plug2 !== void 0 ? _playRef$current$plug2 : [],
|
|
172
|
+
_ref6 = _slicedToArray(_ref5, 2),
|
|
173
|
+
hls = _ref6[1];
|
|
174
|
+
if (hls) {
|
|
175
|
+
hls.swapAudioCodec();
|
|
176
|
+
hls.recoverMediaError();
|
|
177
|
+
}
|
|
178
|
+
var currentTime = time - ((_cSegments$index = cSegments[index]) === null || _cSegments$index === void 0 ? void 0 : _cSegments$index.beginTime);
|
|
179
|
+
setIndex(index);
|
|
180
|
+
setState(function (old) {
|
|
181
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
182
|
+
seekTime: currentTime / 1000
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
// 处理seek 后index变化后 cuurenttime变化的过程
|
|
188
|
+
useEffect(function () {
|
|
189
|
+
var _playRef$current6;
|
|
190
|
+
if (state.seekTime === 0) {
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
setState(function (old) {
|
|
194
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
195
|
+
seekTime: 0
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
if ((_playRef$current6 = playRef.current) !== null && _playRef$current6 !== void 0 && _playRef$current6.video) {
|
|
199
|
+
playRef.current.video.currentTime = state.seekTime;
|
|
200
|
+
}
|
|
201
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
202
|
+
}, [state.seekTime]);
|
|
203
|
+
var hasReady = api && event;
|
|
204
|
+
var timeline = customTimeLine !== null && customTimeLine !== void 0 ? customTimeLine : /*#__PURE__*/_jsx(SegmentTimeLine, {
|
|
205
|
+
begin: begin !== null && begin !== void 0 ? begin : 0,
|
|
206
|
+
seekTo: seekTo,
|
|
207
|
+
index: index,
|
|
208
|
+
segments: segments !== null && segments !== void 0 ? segments : [],
|
|
209
|
+
duration: duration !== null && duration !== void 0 ? duration : 0
|
|
210
|
+
});
|
|
211
|
+
var onInit = useCallback(function () {
|
|
212
|
+
update();
|
|
213
|
+
onCanPlayerInit === null || onCanPlayerInit === void 0 ? void 0 : onCanPlayerInit();
|
|
214
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
215
|
+
}, []);
|
|
216
|
+
return /*#__PURE__*/_jsx(SinglePlayer, _objectSpread({
|
|
217
|
+
ref: playRef,
|
|
218
|
+
url: url,
|
|
219
|
+
isLive: false,
|
|
220
|
+
onCanPlayerInit: onInit,
|
|
221
|
+
reload: reload,
|
|
222
|
+
extActions: {
|
|
223
|
+
setIndex: setIndex,
|
|
224
|
+
seekTo: seekTo
|
|
225
|
+
},
|
|
226
|
+
customTimeLine: hasReady ? timeline : /*#__PURE__*/_jsx(_Fragment, {})
|
|
227
|
+
}, props));
|
|
228
|
+
}
|
|
229
|
+
export default SegmentPlayer;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ISegmentType } from './player';
|
|
2
|
+
interface ITimeLineProps {
|
|
3
|
+
index: number;
|
|
4
|
+
segments: ISegmentType[];
|
|
5
|
+
duration: number;
|
|
6
|
+
begin: number;
|
|
7
|
+
seekTo: (time: number) => void;
|
|
8
|
+
}
|
|
9
|
+
declare function SegmentTimeLine({ index, segments, duration, begin, seekTo }: ITimeLineProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default SegmentTimeLine;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
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."); }
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
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; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
15
|
+
import { css } from '@emotion/css';
|
|
16
|
+
import { Tooltip } from 'antd';
|
|
17
|
+
import moment from 'dayjs';
|
|
18
|
+
import React, { startTransition, useMemo, useState } from 'react';
|
|
19
|
+
import useBarStatus from "./contraller_bar/useBarStatus";
|
|
20
|
+
import { bufferLineCss, currentLineCss, hideTimeLineCss, playerTimelineLayoutCss, useTimes } from "./timeline";
|
|
21
|
+
import { FMT } from "./util";
|
|
22
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
23
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
+
var segmentLineBoxCss = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n width: 100%;\n height: 100%;\n"])));
|
|
25
|
+
var segmentLineItemCss = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n background: rgb(0 0 0 / 100%);\n box-sizing: border-box;\n &:hover {\n &::after {\n box-sizing: border-box;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 6;\n width: 100%;\n height: 100%;\n border: 1px solid #fff;\n content: ' ';\n }\n }\n"])));
|
|
26
|
+
var segmentLineItemNoneCss = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n z-index: 6;\n cursor: not-allowed;\n background: rgb(222 14 14 / 100%);\n"])));
|
|
27
|
+
var segmentLineTipBoxCss = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n font-size: 12px;\n div {\n padding: 2px 0;\n margin: 0;\n }\n"])));
|
|
28
|
+
var segmentLineMarkCss = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: absolute;\n width: 2px;\n height: 100%;\n pointer-events: none;\n background-color: #fff;\n"])));
|
|
29
|
+
function TipTitle(_ref) {
|
|
30
|
+
var index = _ref.index,
|
|
31
|
+
segments = _ref.segments,
|
|
32
|
+
begin = _ref.begin,
|
|
33
|
+
current = _ref.current,
|
|
34
|
+
markTime = _ref.markTime;
|
|
35
|
+
var _useMemo = useMemo(function () {
|
|
36
|
+
if (index === 0) {
|
|
37
|
+
var _start = begin;
|
|
38
|
+
var _end = begin + (segments[0].endTime - segments[0].beginTime);
|
|
39
|
+
return {
|
|
40
|
+
start: moment(_start).format(FMT),
|
|
41
|
+
end: moment(_end).format(FMT)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
var indexDuration = segments.map(function (v) {
|
|
45
|
+
return v.endTime - v.beginTime;
|
|
46
|
+
}).reduce(function (a, b, i) {
|
|
47
|
+
return i >= index ? a : a + b;
|
|
48
|
+
}, 0);
|
|
49
|
+
var start = begin + indexDuration;
|
|
50
|
+
var end = start + (segments[index].endTime - segments[index].beginTime);
|
|
51
|
+
return {
|
|
52
|
+
start: moment(start).format(FMT),
|
|
53
|
+
end: moment(end).format(FMT)
|
|
54
|
+
};
|
|
55
|
+
}, [index, segments, begin]),
|
|
56
|
+
start = _useMemo.start,
|
|
57
|
+
end = _useMemo.end;
|
|
58
|
+
var hasUrl = useMemo(function () {
|
|
59
|
+
var _segments$index;
|
|
60
|
+
return (_segments$index = segments[index]) !== null && _segments$index !== void 0 && _segments$index.url ? true : false;
|
|
61
|
+
}, [index, segments]);
|
|
62
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
63
|
+
className: segmentLineTipBoxCss,
|
|
64
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
65
|
+
style: {
|
|
66
|
+
fontWeight: 600
|
|
67
|
+
},
|
|
68
|
+
children: "\u5F55\u50CF\u7247\u6BB5\u4FE1\u606F"
|
|
69
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
70
|
+
children: ["\u5F00\u59CB\uFF1A", start]
|
|
71
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
72
|
+
children: ["\u7ED3\u675F\uFF1A", end]
|
|
73
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
74
|
+
children: ["\u523B\u5EA6\uFF1A", moment(markTime).format(FMT)]
|
|
75
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
76
|
+
children: ["\u5F53\u524D\uFF1A", moment(current).format(FMT)]
|
|
77
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
78
|
+
children: ["\u72B6\u6001\uFF1A", /*#__PURE__*/_jsx("span", {
|
|
79
|
+
style: {
|
|
80
|
+
color: hasUrl ? 'green' : 'red'
|
|
81
|
+
},
|
|
82
|
+
children: hasUrl ? '正常' : '缺失'
|
|
83
|
+
})]
|
|
84
|
+
})]
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function SegmentTimeLine(_ref2) {
|
|
88
|
+
var index = _ref2.index,
|
|
89
|
+
segments = _ref2.segments,
|
|
90
|
+
duration = _ref2.duration,
|
|
91
|
+
begin = _ref2.begin,
|
|
92
|
+
seekTo = _ref2.seekTo;
|
|
93
|
+
var _useState = useState({
|
|
94
|
+
time: 0,
|
|
95
|
+
markTime: 0,
|
|
96
|
+
left: -1,
|
|
97
|
+
visible: false
|
|
98
|
+
}),
|
|
99
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
100
|
+
state = _useState2[0],
|
|
101
|
+
setState = _useState2[1];
|
|
102
|
+
var status = useBarStatus();
|
|
103
|
+
var _useTimes = useTimes(),
|
|
104
|
+
_useTimes2 = _slicedToArray(_useTimes, 2),
|
|
105
|
+
currentTime = _useTimes2[0],
|
|
106
|
+
buffered = _useTimes2[1];
|
|
107
|
+
var indexDuration = useMemo(function () {
|
|
108
|
+
return segments.map(function (v) {
|
|
109
|
+
return (v.endTime - v.beginTime) / 1000;
|
|
110
|
+
}).reduce(function (a, b, i) {
|
|
111
|
+
return i >= index ? a : a + b;
|
|
112
|
+
}, 0);
|
|
113
|
+
}, [index, segments]);
|
|
114
|
+
var playPercent = useMemo(function () {
|
|
115
|
+
return (currentTime + indexDuration) / duration * 100;
|
|
116
|
+
}, [currentTime, duration, indexDuration]);
|
|
117
|
+
var bufferedPercent = useMemo(function () {
|
|
118
|
+
return (buffered + indexDuration) / duration * 100;
|
|
119
|
+
}, [buffered, duration, indexDuration]);
|
|
120
|
+
var seekWithLine = function seekWithLine(e, i) {
|
|
121
|
+
if (!segments[i].url) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
var ele = e.currentTarget;
|
|
125
|
+
var rect = ele.getBoundingClientRect();
|
|
126
|
+
var current = e.pageX - rect.left;
|
|
127
|
+
var item = segments[i - 1];
|
|
128
|
+
var pTime = item ? item.endTime : begin;
|
|
129
|
+
var duration = segments[i].endTime - segments[i].beginTime;
|
|
130
|
+
var currentTime = current / rect.width * duration;
|
|
131
|
+
seekTo(Math.round(currentTime + pTime));
|
|
132
|
+
};
|
|
133
|
+
var onLineMouseOver = function onLineMouseOver(e) {
|
|
134
|
+
var rect = e.currentTarget.getBoundingClientRect();
|
|
135
|
+
var left = e.pageX - rect.left;
|
|
136
|
+
var mTime = left / rect.width * duration;
|
|
137
|
+
setState(function (old) {
|
|
138
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
139
|
+
left: left,
|
|
140
|
+
markTime: begin + mTime * 1000
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
var onLineMouseOut = function onLineMouseOut() {
|
|
145
|
+
return startTransition(function () {
|
|
146
|
+
return setState(function (old) {
|
|
147
|
+
return _objectSpread(_objectSpread({}, old), {}, {
|
|
148
|
+
left: -1
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
return /*#__PURE__*/_jsx("div", {
|
|
154
|
+
className: "".concat(playerTimelineLayoutCss, " ").concat(status === 0 ? hideTimeLineCss : ''),
|
|
155
|
+
style: {
|
|
156
|
+
background: 'transparent'
|
|
157
|
+
},
|
|
158
|
+
onMouseMove: onLineMouseOver,
|
|
159
|
+
onMouseOut: onLineMouseOut,
|
|
160
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
161
|
+
className: segmentLineBoxCss,
|
|
162
|
+
children: [segments.map(function (v, i) {
|
|
163
|
+
return /*#__PURE__*/_jsx(Tooltip, {
|
|
164
|
+
title: /*#__PURE__*/_jsx(TipTitle, {
|
|
165
|
+
segments: segments,
|
|
166
|
+
index: i,
|
|
167
|
+
begin: begin,
|
|
168
|
+
current: currentTime * 1000 + begin,
|
|
169
|
+
markTime: state.markTime
|
|
170
|
+
}),
|
|
171
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
172
|
+
className: "".concat(segmentLineItemCss, " ").concat(!v.url ? segmentLineItemNoneCss : ''),
|
|
173
|
+
onClick: function onClick(e) {
|
|
174
|
+
return seekWithLine(e, i);
|
|
175
|
+
},
|
|
176
|
+
style: {
|
|
177
|
+
width: "".concat((v.endTime / 1000 - v.beginTime / 1000) / duration * 100, "%")
|
|
178
|
+
}
|
|
179
|
+
})
|
|
180
|
+
}, "time-line-".concat(i));
|
|
181
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
182
|
+
className: bufferLineCss,
|
|
183
|
+
style: {
|
|
184
|
+
width: "".concat(bufferedPercent, "%")
|
|
185
|
+
}
|
|
186
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
187
|
+
className: currentLineCss,
|
|
188
|
+
style: {
|
|
189
|
+
width: "".concat(playPercent, "%")
|
|
190
|
+
}
|
|
191
|
+
}), state.left !== -1 && /*#__PURE__*/_jsx("span", {
|
|
192
|
+
className: segmentLineMarkCss,
|
|
193
|
+
style: {
|
|
194
|
+
left: state.left
|
|
195
|
+
}
|
|
196
|
+
})]
|
|
197
|
+
})
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
export default SegmentTimeLine;
|