@vtx/player 1.7.19 → 1.7.20
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/lib/api/fetch.js +63 -92
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/index.js +20 -65
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +5 -5
- package/lib/bd/PlayerManager.js +38 -68
- package/lib/bd/PlayerManager.js.map +1 -1
- package/lib/bill-player/index.d.ts +1 -1
- package/lib/bill-player/index.js +66 -121
- package/lib/bill-player/index.js.map +1 -1
- package/lib/bill-player/style/css.js +0 -9
- package/lib/bill-player/style/css.js.map +1 -1
- package/lib/bill-player/style/index.js +0 -9
- package/lib/bill-player/style/index.js.map +1 -1
- package/lib/components/set-tag-video/index.js +6 -34
- package/lib/components/set-tag-video/index.js.map +1 -1
- package/lib/components/set-tag-video/style/css.js.map +1 -1
- package/lib/components/set-tag-video/style/index.js.map +1 -1
- package/lib/components/split-screen/index.d.ts +1 -1
- package/lib/components/split-screen/index.js +3 -14
- package/lib/components/split-screen/index.js.map +1 -1
- package/lib/components/split-screen/style/css.js.map +1 -1
- package/lib/components/split-screen/style/index.js.map +1 -1
- package/lib/components/tag-video/index.js +12 -40
- package/lib/components/tag-video/index.js.map +1 -1
- package/lib/components/tag-video/style/css.js.map +1 -1
- package/lib/components/tag-video/style/index.js.map +1 -1
- package/lib/components/video-scale/index.d.ts +1 -1
- package/lib/components/video-scale/index.js +2 -9
- package/lib/components/video-scale/index.js.map +1 -1
- package/lib/components/video-scale/style/css.js.map +1 -1
- package/lib/components/video-scale/style/index.js.map +1 -1
- package/lib/context/index.js +0 -4
- package/lib/context/index.js.map +1 -1
- package/lib/controls/index.d.ts +11 -11
- package/lib/controls/index.js +36 -101
- package/lib/controls/index.js.map +1 -1
- package/lib/controls/style/css.js +0 -5
- package/lib/controls/style/css.js.map +1 -1
- package/lib/controls/style/index.js +0 -5
- package/lib/controls/style/index.js.map +1 -1
- package/lib/h264/PlayerManager.js +18 -27
- package/lib/h264/PlayerManager.js.map +1 -1
- package/lib/history-control/index.d.ts +2 -2
- package/lib/history-control/index.js +64 -123
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control/style/css.js +0 -6
- package/lib/history-control/style/css.js.map +1 -1
- package/lib/history-control/style/index.js +0 -6
- package/lib/history-control/style/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.js +38 -77
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +48 -117
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/context.js +0 -2
- package/lib/history-control-v2/context.js.map +1 -1
- package/lib/history-control-v2/index.d.ts +4 -4
- package/lib/history-control-v2/index.js +98 -167
- package/lib/history-control-v2/index.js.map +1 -1
- package/lib/history-control-v2/style/css.js +0 -10
- package/lib/history-control-v2/style/css.js.map +1 -1
- package/lib/history-control-v2/style/index.js +0 -10
- package/lib/history-control-v2/style/index.js.map +1 -1
- package/lib/history-control-v2/utils.js +1 -21
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +1 -1
- package/lib/history-player/index.js +146 -205
- package/lib/history-player/index.js.map +1 -1
- package/lib/history-player/style/css.js +0 -3
- package/lib/history-player/style/css.js.map +1 -1
- package/lib/history-player/style/index.js +0 -3
- package/lib/history-player/style/index.js.map +1 -1
- package/lib/hooks/useSettings.js +1 -6
- package/lib/hooks/useSettings.js.map +1 -1
- package/lib/icc/PlayerManager.js +26 -57
- package/lib/icc/PlayerManager.js.map +1 -1
- package/lib/icc/api.d.ts +0 -68
- package/lib/icc/api.js +2 -16
- package/lib/icc/api.js.map +1 -1
- package/lib/icons/index.d.ts +36 -36
- package/lib/icons/index.js +23 -171
- package/lib/icons/index.js.map +1 -1
- package/lib/index.js +0 -10
- package/lib/index.js.map +1 -1
- package/lib/live-channel-player/index.d.ts +1 -1
- package/lib/live-channel-player/index.js +33 -69
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-channel-player/style/css.js +0 -1
- package/lib/live-channel-player/style/css.js.map +1 -1
- package/lib/live-channel-player/style/index.js +0 -1
- package/lib/live-channel-player/style/index.js.map +1 -1
- package/lib/live-control/index.d.ts +2 -2
- package/lib/live-control/index.js +35 -86
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control/style/css.js +0 -4
- package/lib/live-control/style/css.js.map +1 -1
- package/lib/live-control/style/index.js +0 -4
- package/lib/live-control/style/index.js.map +1 -1
- package/lib/live-control-v2/index.d.ts +3 -3
- package/lib/live-control-v2/index.js +70 -156
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-control-v2/style/css.js +0 -7
- package/lib/live-control-v2/style/css.js.map +1 -1
- package/lib/live-control-v2/style/index.js +0 -7
- package/lib/live-control-v2/style/index.js.map +1 -1
- package/lib/live-player/index.js +95 -136
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player/style/css.js +0 -2
- package/lib/live-player/style/css.js.map +1 -1
- package/lib/live-player/style/index.js +0 -2
- package/lib/live-player/style/index.js.map +1 -1
- package/lib/player/index.d.ts +1 -1
- package/lib/player/index.js +78 -243
- package/lib/player/index.js.map +1 -1
- package/lib/rsl/PlayerManager.js +18 -64
- package/lib/rsl/PlayerManager.js.map +1 -1
- package/lib/utils/index.d.ts +1 -8
- package/lib/utils/index.js +14 -114
- package/lib/utils/index.js.map +1 -1
- package/lib/vtxHls/PlayerManager.js +6 -20
- package/lib/vtxHls/PlayerManager.js.map +1 -1
- package/lib/vtxHls/WhepManager.js +9 -72
- package/lib/vtxHls/WhepManager.js.map +1 -1
- package/lib/webrtc/PlayerManager.js +28 -41
- package/lib/webrtc/PlayerManager.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryPlayer","forwardRef","props","ref","url","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","screenshot","showInfo","info","extraButton","controlVisible","undefined","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","state","setState","useImperativeHandle","seekTo","time","player","current","useEffect","container","clearInterval","setTimeout","API","getToken","token","localStorage","setItem","Player","live","playBack","format","TimeFormat","params","i","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","destroy","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","console","log","handleSlider","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","_Fragment","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport Player from '../player';\nimport { TimeFormat, guidGenerator } from '../utils';\nimport { useDebounce, useFullscreen, useSetState } from 'ahooks';\n// import { Slider, Space } from 'antd';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, screenshot, showInfo = false, info = [], extraButton, controlVisible = undefined, } = props;\n const vRef = useRef(null);\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n currentTime: '',\n progress: 0,\n progress2: 0,\n controls: {\n progress: true,\n },\n progressVisible: true,\n speedVisible: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n },\n };\n });\n useEffect(() => {\n const container = containerRef.current;\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (!url || !container)\n return;\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n if (type === 'bd') {\n yield new Promise((resolve) => {\n setTimeout(() => resolve(''), 2000);\n });\n }\n // 如果是icc_ws类型,需要获取token\n if (type === 'icc_ws') {\n const token = yield API.getToken({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n player = yield new Player({\n url,\n devicePort,\n deviceIp,\n channelNum,\n deviceCode,\n deviceId,\n streamType,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n progress: 0,\n controls: { progress: player.type === 'hk_ws' || player.type === 'hkcar_ws' },\n progressVisible: player.type !== 'bd',\n speedVisible: player.type !== 'bd',\n });\n player\n .playBack()\n .then(() => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n });\n let i = 1;\n vRef.current = setInterval(() => {\n // 当时间大于等于结束时间时重置\n if (moment(startTime).add(i, 's').unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n i++;\n if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i, 's')\n .format(TimeFormat.params),\n progress: Math.floor((i * 100) / totalTime),\n });\n }\n }\n }, 1000);\n })\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n setState({\n // currentTime: Math.floor(_currentTime),\n // progress: Math.floor((_currentTime / totalTime) * 100),\n speed,\n });\n }\n });\n }))();\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n }, [url, startTime, endTime]);\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n const endProgress = useDebounce(state.progress2, { wait: 500 });\n useEffect(() => {\n const currentTime = Math.floor((totalTime * endProgress) / 100);\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n setState({\n progress: endProgress,\n });\n }, [endProgress]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n useEffect(() => {\n console.log(width, height);\n const player = playerRef.current;\n player && player.resize();\n }, [width, height]);\n /** 进度条控制器 */\n const handleSlider = (value) => {\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n const currentTime = Math.floor((totalTime * value) / 100);\n setState({\n progress2: value,\n currentTime: moment(state.currentTime)\n .add(currentTime, 'seconds')\n .format(TimeFormat.params),\n });\n let i = 1;\n vRef.current = setInterval(() => {\n if (moment(startTime).unix() + i + currentTime >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i + currentTime, 's')\n .format(TimeFormat.params),\n progress: Math.floor(((i + currentTime) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (type === 'bd') {\n return;\n }\n let i = 2;\n vRef.current = setInterval(() => {\n if (moment(state.currentTime).unix() + i >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n if (!state.loading) {\n setState({\n currentTime: moment(state.currentTime).add(i, 's').format(TimeFormat.params),\n progress: Math.floor(((i + moment(state.currentTime).unix()) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), state.progressVisible && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: state.currentTime\n ? moment(state.currentTime).format('HH:mm:ss')\n : '-' })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", moment(endTime).format('HH:mm:ss')] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) }))] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), state.speedVisible && (_jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current })), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_controls","_api","_interopRequireDefault","_icons","_player","_utils","_ahooks","_slider","_space","_moment","obj","__esModule","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","__awaiter","thisArg","_arguments","P","adopt","fulfilled","step","e","rejected","apply","HistoryPlayer","forwardRef","props","ref","url","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","enableAgent","_props$width","width","_props$height","height","captureName","_props$controlBottom","controlBottom","startTime","endTime","onTimeChange","screenshot","_props$showInfo","showInfo","_props$info","extraButton","_props$controlVisible","controlVisible","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","play","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","_useSetState2","setState","useImperativeHandle","seekTo","time","player","current","useEffect","container","clearInterval","_callee","token","_callee$","_context","setTimeout","API","getToken","localStorage","setItem","Player","live","playBack","format","TimeFormat","params","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","destroy","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","console","log","handleSlider","handlePause","pause","handleResume","resume","_jsxs","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","_Fragment","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","_default"],"sources":["history-player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport Player from '../player';\nimport { TimeFormat, guidGenerator } from '../utils';\nimport { useDebounce, useFullscreen, useSetState } from 'ahooks';\n// import { Slider, Space } from 'antd';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, screenshot, showInfo = false, info = [], extraButton, controlVisible = undefined, } = props;\n const vRef = useRef(null);\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n currentTime: '',\n progress: 0,\n progress2: 0,\n controls: {\n progress: true,\n },\n progressVisible: true,\n speedVisible: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n },\n };\n });\n useEffect(() => {\n const container = containerRef.current;\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (!url || !container)\n return;\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n if (type === 'bd') {\n yield new Promise((resolve) => {\n setTimeout(() => resolve(''), 2000);\n });\n }\n // 如果是icc_ws类型,需要获取token\n if (type === 'icc_ws') {\n const token = yield API.getToken({\n deviceId,\n });\n localStorage.setItem('accessToken', token);\n }\n player = yield new Player({\n url,\n devicePort,\n deviceIp,\n channelNum,\n deviceCode,\n deviceId,\n streamType,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n progress: 0,\n controls: { progress: player.type === 'hk_ws' || player.type === 'hkcar_ws' },\n progressVisible: player.type !== 'bd',\n speedVisible: player.type !== 'bd',\n });\n player\n .playBack()\n .then(() => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n });\n let i = 1;\n vRef.current = setInterval(() => {\n // 当时间大于等于结束时间时重置\n if (moment(startTime).add(i, 's').unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n i++;\n if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i, 's')\n .format(TimeFormat.params),\n progress: Math.floor((i * 100) / totalTime),\n });\n }\n }\n }, 1000);\n })\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n setState({\n // currentTime: Math.floor(_currentTime),\n // progress: Math.floor((_currentTime / totalTime) * 100),\n speed,\n });\n }\n });\n }))();\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n }, [url, startTime, endTime]);\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n const endProgress = useDebounce(state.progress2, { wait: 500 });\n useEffect(() => {\n const currentTime = Math.floor((totalTime * endProgress) / 100);\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n setState({\n progress: endProgress,\n });\n }, [endProgress]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n useEffect(() => {\n console.log(width, height);\n const player = playerRef.current;\n player && player.resize();\n }, [width, height]);\n /** 进度条控制器 */\n const handleSlider = (value) => {\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n const currentTime = Math.floor((totalTime * value) / 100);\n setState({\n progress2: value,\n currentTime: moment(state.currentTime)\n .add(currentTime, 'seconds')\n .format(TimeFormat.params),\n });\n let i = 1;\n vRef.current = setInterval(() => {\n if (moment(startTime).unix() + i + currentTime >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else if (!state.loading) {\n setState({\n currentTime: moment(startTime)\n .add(i + currentTime, 's')\n .format(TimeFormat.params),\n progress: Math.floor(((i + currentTime) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n if (vRef.current) {\n clearInterval(vRef.current);\n vRef.current = null;\n }\n if (type === 'bd') {\n return;\n }\n let i = 2;\n vRef.current = setInterval(() => {\n if (moment(state.currentTime).unix() + i >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n if (!state.loading) {\n setState({\n currentTime: moment(state.currentTime).add(i, 's').format(TimeFormat.params),\n progress: Math.floor(((i + moment(state.currentTime).unix()) / totalTime) * 100),\n });\n i++;\n }\n }, 1000);\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), state.progressVisible && (_jsxs(_Fragment, { children: [_jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: state.currentTime\n ? moment(state.currentTime).format('HH:mm:ss')\n : '-' })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", moment(endTime).format('HH:mm:ss')] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) }))] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), state.speedVisible && (_jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current })), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","names":[],"sources":["history-player/style/index.js"],"sourcesContent":["import \"antd/lib/slider/style\";\nimport \"antd/lib/space/style\";\nimport '../../controls/style';\nimport './index.less';\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"css.js","names":["require"],"sources":["history-player/style/index.js"],"sourcesContent":["import \"antd/lib/slider/style\";\nimport \"antd/lib/space/style\";\nimport '../../controls/style';\nimport './index.less';\n"],"mappings":";;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["history-player/style/index.js"],"sourcesContent":["import \"antd/lib/slider/style\";\nimport \"antd/lib/space/style\";\nimport '../../controls/style';\nimport './index.less';\n"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","names":["require"],"sources":["history-player/style/index.js"],"sourcesContent":["import \"antd/lib/slider/style\";\nimport \"antd/lib/space/style\";\nimport '../../controls/style';\nimport './index.less';\n"],"mappings":";;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA"}
|
package/lib/hooks/useSettings.js
CHANGED
|
@@ -4,25 +4,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _context = require("../context");
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* 获取配置信息
|
|
14
11
|
* @returns
|
|
15
12
|
*/
|
|
16
13
|
var useSettings = function useSettings() {
|
|
17
14
|
var _useContext = (0, _react.useContext)(_context.PlayerThemeContext),
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
theme = _useContext.theme;
|
|
20
16
|
return {
|
|
21
17
|
theme: theme,
|
|
22
18
|
isDark: theme === 'light'
|
|
23
19
|
};
|
|
24
20
|
};
|
|
25
|
-
|
|
26
21
|
var _default = useSettings;
|
|
27
22
|
exports["default"] = _default;
|
|
28
23
|
//# sourceMappingURL=useSettings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSettings.js","names":["useSettings","useContext","PlayerThemeContext","theme","isDark"],"sources":["hooks/useSettings.js"],"sourcesContent":["import { useContext } from 'react';\nimport { PlayerThemeContext } from '../context';\n/**\n * 获取配置信息\n * @returns\n */\nconst useSettings = () => {\n const { theme } = useContext(PlayerThemeContext);\n return { theme, isDark: theme === 'light' };\n};\nexport default useSettings;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSettings.js","names":["_react","require","_context","useSettings","_useContext","useContext","PlayerThemeContext","theme","isDark","_default","exports"],"sources":["hooks/useSettings.js"],"sourcesContent":["import { useContext } from 'react';\nimport { PlayerThemeContext } from '../context';\n/**\n * 获取配置信息\n * @returns\n */\nconst useSettings = () => {\n const { theme } = useContext(PlayerThemeContext);\n return { theme, isDark: theme === 'light' };\n};\nexport default useSettings;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA;AACA;AACA;AACA;AACA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;EACtB,IAAAC,WAAA,GAAkB,IAAAC,iBAAU,EAACC,2BAAkB,CAAC;IAAxCC,KAAK,GAAAH,WAAA,CAALG,KAAK;EACb,OAAO;IAAEA,KAAK,EAALA,KAAK;IAAEC,MAAM,EAAED,KAAK,KAAK;EAAQ,CAAC;AAC/C,CAAC;AAAC,IAAAE,QAAA,GACaN,WAAW;AAAAO,OAAA,cAAAD,QAAA"}
|
package/lib/icc/PlayerManager.js
CHANGED
|
@@ -4,19 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
var _api = _interopRequireDefault(require("./api"));
|
|
9
|
-
|
|
10
8
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
11
|
-
|
|
9
|
+
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); }
|
|
12
10
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
13
|
-
|
|
14
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
15
|
-
|
|
11
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
16
12
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
17
|
-
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
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); } // WSPlayer 已经注册到window
|
|
18
15
|
var WSPlayerConstructor = WSPlayer;
|
|
19
|
-
|
|
20
16
|
if (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {
|
|
21
17
|
WSPlayerConstructor = WSPlayer.WSPlayer;
|
|
22
18
|
}
|
|
@@ -24,34 +20,30 @@ if (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {
|
|
|
24
20
|
* WSPlayer是核心组件
|
|
25
21
|
* API 封装了接口
|
|
26
22
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
23
|
var PlayerManager = /*#__PURE__*/function () {
|
|
30
24
|
function PlayerManager(opt) {
|
|
31
25
|
_classCallCheck(this, PlayerManager);
|
|
32
|
-
|
|
33
26
|
// 播放器所在的容器ID
|
|
34
|
-
this.el = opt.el;
|
|
35
|
-
|
|
36
|
-
this.realPlayer = null;
|
|
37
|
-
|
|
27
|
+
this.el = opt.el;
|
|
28
|
+
// 实时预览播放器
|
|
29
|
+
this.realPlayer = null;
|
|
30
|
+
// 录像回放播放器
|
|
38
31
|
this.recordPlayer = null;
|
|
39
|
-
this.player = null;
|
|
40
|
-
|
|
41
|
-
this.type = 'real';
|
|
42
|
-
|
|
43
|
-
this.playNum = 1;
|
|
44
|
-
|
|
45
|
-
this.playIndex = 0;
|
|
46
|
-
|
|
47
|
-
this.currentChannelId = '';
|
|
48
|
-
|
|
49
|
-
this.recordList = [];
|
|
50
|
-
|
|
32
|
+
this.player = null;
|
|
33
|
+
// 实时预览还是录像回放播放器
|
|
34
|
+
this.type = 'real';
|
|
35
|
+
// 窗口的数量
|
|
36
|
+
this.playNum = 1;
|
|
37
|
+
// 当前选中的窗口的索引
|
|
38
|
+
this.playIndex = 0;
|
|
39
|
+
// 当前选中窗口正在播放视频的通道
|
|
40
|
+
this.currentChannelId = '';
|
|
41
|
+
// 索引对应窗口,保存当日录像信息
|
|
42
|
+
this.recordList = [];
|
|
43
|
+
// 如果是http协议,只需使用ip,不需要端口
|
|
51
44
|
this.serverIp = opt.ip;
|
|
52
45
|
this.init(opt);
|
|
53
46
|
}
|
|
54
|
-
|
|
55
47
|
_createClass(PlayerManager, [{
|
|
56
48
|
key: "init",
|
|
57
49
|
value: function init(opt) {
|
|
@@ -59,7 +51,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
59
51
|
case 'real':
|
|
60
52
|
this.initRealPlayer(opt);
|
|
61
53
|
break;
|
|
62
|
-
|
|
63
54
|
case 'record':
|
|
64
55
|
this.initRecordPlayer(opt);
|
|
65
56
|
break;
|
|
@@ -68,14 +59,12 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
68
59
|
/**
|
|
69
60
|
* 初始化实时预览播放器
|
|
70
61
|
*/
|
|
71
|
-
|
|
72
62
|
}, {
|
|
73
63
|
key: "initRealPlayer",
|
|
74
64
|
value: function initRealPlayer(opt) {
|
|
75
65
|
if (!this.serverIp) {
|
|
76
66
|
return;
|
|
77
67
|
}
|
|
78
|
-
|
|
79
68
|
this.playNum = opt.num;
|
|
80
69
|
this.type = 'real';
|
|
81
70
|
this.realPlayer = new WSPlayerConstructor({
|
|
@@ -91,10 +80,10 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
91
80
|
receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),
|
|
92
81
|
getRealRtsp: _api["default"].getRealmonitor,
|
|
93
82
|
getTalkRtsp: _api["default"].getTalkRtsp // 获取对讲rtsp接口
|
|
94
|
-
|
|
95
83
|
});
|
|
96
|
-
this.player = this.realPlayer; // 初始化云台控制组件
|
|
97
84
|
|
|
85
|
+
this.player = this.realPlayer;
|
|
86
|
+
// 初始化云台控制组件
|
|
98
87
|
if (opt.pztEl) {
|
|
99
88
|
this.realPlayer.initPanTilt({
|
|
100
89
|
// 云台控制容器的id
|
|
@@ -111,14 +100,12 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
111
100
|
/**
|
|
112
101
|
* 初始化录像回放播放器
|
|
113
102
|
*/
|
|
114
|
-
|
|
115
103
|
}, {
|
|
116
104
|
key: "initRecordPlayer",
|
|
117
105
|
value: function initRecordPlayer(opt) {
|
|
118
106
|
if (!this.serverIp) {
|
|
119
107
|
return;
|
|
120
108
|
}
|
|
121
|
-
|
|
122
109
|
this.playNum = opt.num;
|
|
123
110
|
this.type = 'record';
|
|
124
111
|
this.recordPlayer = new WSPlayerConstructor({
|
|
@@ -129,14 +116,14 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
129
116
|
num: opt.num,
|
|
130
117
|
maxNum: opt.maxNum,
|
|
131
118
|
showControl: opt.showControl // 默认是否显示工具栏
|
|
132
|
-
|
|
133
119
|
},
|
|
120
|
+
|
|
134
121
|
receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),
|
|
135
122
|
getRecords: _api["default"].getRecords,
|
|
136
123
|
getRecordRtspByTime: _api["default"].getRecordRtspByTime,
|
|
137
124
|
getRecordRtspByFile: _api["default"].getRecordRtspByFile // 根据文件形式获取录像rtsp接口
|
|
138
|
-
|
|
139
125
|
});
|
|
126
|
+
|
|
140
127
|
this.player = this.recordPlayer;
|
|
141
128
|
}
|
|
142
129
|
/**
|
|
@@ -154,7 +141,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
154
141
|
// cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填
|
|
155
142
|
// capability: capability, // {String} 能力集 -- 用于云台,选填
|
|
156
143
|
// }]
|
|
157
|
-
|
|
158
144
|
}, {
|
|
159
145
|
key: "playRealVideo",
|
|
160
146
|
value: function playRealVideo(opt) {
|
|
@@ -172,7 +158,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
172
158
|
// channelList: [{
|
|
173
159
|
// id: channelCode, // {String} 通道编码 -- 用于回放,必填
|
|
174
160
|
// }]
|
|
175
|
-
|
|
176
161
|
}, {
|
|
177
162
|
key: "playRecordVideo",
|
|
178
163
|
value: function playRecordVideo(opt) {
|
|
@@ -182,7 +167,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
182
167
|
* 录像暂停
|
|
183
168
|
* 只有正在播放的录像调用才有效
|
|
184
169
|
*/
|
|
185
|
-
|
|
186
170
|
}, {
|
|
187
171
|
key: "pause",
|
|
188
172
|
value: function pause() {
|
|
@@ -192,7 +176,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
192
176
|
* 录像暂停后播放
|
|
193
177
|
* 只有暂停后的录像调用才有效
|
|
194
178
|
*/
|
|
195
|
-
|
|
196
179
|
}, {
|
|
197
180
|
key: "play",
|
|
198
181
|
value: function play() {
|
|
@@ -202,7 +185,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
202
185
|
* 倍速播放
|
|
203
186
|
* @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率
|
|
204
187
|
*/
|
|
205
|
-
|
|
206
188
|
}, {
|
|
207
189
|
key: "playSpeed",
|
|
208
190
|
value: function playSpeed(speed) {
|
|
@@ -212,7 +194,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
212
194
|
* 关闭播放器
|
|
213
195
|
* @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
|
|
214
196
|
*/
|
|
215
|
-
|
|
216
197
|
}, {
|
|
217
198
|
key: "close",
|
|
218
199
|
value: function close(index) {
|
|
@@ -221,7 +202,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
221
202
|
/**
|
|
222
203
|
* 设置全屏
|
|
223
204
|
*/
|
|
224
|
-
|
|
225
205
|
}, {
|
|
226
206
|
key: "setFullScreen",
|
|
227
207
|
value: function setFullScreen() {
|
|
@@ -231,7 +211,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
231
211
|
* 设置窗口自适应还是拉伸
|
|
232
212
|
* @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
|
|
233
213
|
*/
|
|
234
|
-
|
|
235
214
|
}, {
|
|
236
215
|
key: "setPlayerAdapter",
|
|
237
216
|
value: function setPlayerAdapter(playerAdapter) {
|
|
@@ -241,7 +220,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
241
220
|
* 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
|
|
242
221
|
* @param {number} number
|
|
243
222
|
*/
|
|
244
|
-
|
|
245
223
|
}, {
|
|
246
224
|
key: "setPlayerNum",
|
|
247
225
|
value: function setPlayerNum(number) {
|
|
@@ -251,7 +229,6 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
251
229
|
* 设置选中的播放器的索引
|
|
252
230
|
* @param {number} index
|
|
253
231
|
*/
|
|
254
|
-
|
|
255
232
|
}, {
|
|
256
233
|
key: "setSelectIndex",
|
|
257
234
|
value: function setSelectIndex(index) {
|
|
@@ -261,13 +238,12 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
261
238
|
* 录像跳转播放
|
|
262
239
|
* @param {string} time HH:mm:ss格式
|
|
263
240
|
*/
|
|
264
|
-
|
|
265
241
|
}, {
|
|
266
242
|
key: "jumpPlayByTime",
|
|
267
243
|
value: function jumpPlayByTime(time) {
|
|
268
244
|
this.player.jumpPlayByTime(time);
|
|
269
|
-
}
|
|
270
|
-
|
|
245
|
+
}
|
|
246
|
+
// ----------------- 播放器事件 ------------------------
|
|
271
247
|
}, {
|
|
272
248
|
key: "__receiveMessageFromWSPlayer",
|
|
273
249
|
value: function __receiveMessageFromWSPlayer(method, data) {
|
|
@@ -278,12 +254,10 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
278
254
|
this.currentChannelId = data.channelId;
|
|
279
255
|
this.playIndex = data.playIndex;
|
|
280
256
|
break;
|
|
281
|
-
|
|
282
257
|
case 'windowNumChanged':
|
|
283
258
|
// 播放器显示的路数发生改变
|
|
284
259
|
this.playNum = data;
|
|
285
260
|
break;
|
|
286
|
-
|
|
287
261
|
case 'closeVideo':
|
|
288
262
|
// 视频关闭
|
|
289
263
|
// 点击关闭按钮引发的视频关闭进行提示
|
|
@@ -291,13 +265,10 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
291
265
|
if (!data.changeVideoFlag) {
|
|
292
266
|
console.log("\u7A97\u53E3".concat(data.selectIndex, "\u7684\u89C6\u9891\u5DF2\u5173\u95ED"));
|
|
293
267
|
}
|
|
294
|
-
|
|
295
268
|
break;
|
|
296
|
-
|
|
297
269
|
case 'statusChanged':
|
|
298
270
|
// 视频状态发生改变
|
|
299
271
|
break;
|
|
300
|
-
|
|
301
272
|
case 'errorInfo':
|
|
302
273
|
// 错误信息提示
|
|
303
274
|
// data = {
|
|
@@ -309,10 +280,8 @@ var PlayerManager = /*#__PURE__*/function () {
|
|
|
309
280
|
}
|
|
310
281
|
}
|
|
311
282
|
}]);
|
|
312
|
-
|
|
313
283
|
return PlayerManager;
|
|
314
284
|
}();
|
|
315
|
-
|
|
316
285
|
var _default = PlayerManager;
|
|
317
286
|
exports["default"] = _default;
|
|
318
287
|
//# sourceMappingURL=PlayerManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayerManager.js","names":["WSPlayerConstructor","WSPlayer","PlayerManager","opt","el","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","serverIp","ip","init","initRealPlayer","initRecordPlayer","num","config","maxNum","showControl","isDynamicLoadLib","receiveMessageFromWSPlayer","__receiveMessageFromWSPlayer","bind","getRealRtsp","API","getRealmonitor","getTalkRtsp","pztEl","initPanTilt","setPtzDirection","setPtzCamera","controlSitPosition","getRecords","getRecordRtspByTime","getRecordRtspByFile","playRealVideo","channelList","streamType","windowIndex","getRecordList","pause","play","speed","playSpeed","index","close","setFullScreen","playerAdapter","setPlayerAdapter","number","setPlayerNum","setSelectIndex","time","jumpPlayByTime","method","data","channelId","changeVideoFlag","console","log","selectIndex"],"sources":["icc/PlayerManager.js"],"sourcesContent":["// WSPlayer 已经注册到window\nimport API from './api';\nlet WSPlayerConstructor = WSPlayer;\nif (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {\n WSPlayerConstructor = WSPlayer.WSPlayer;\n}\n/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass PlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n // 实时预览还是录像回放播放器\n this.type = 'real';\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n // 如果是http协议,只需使用ip,不需要端口\n this.serverIp = opt.ip;\n this.init(opt);\n }\n init(opt) {\n switch (opt.type) {\n case 'real':\n this.initRealPlayer(opt);\n break;\n case 'record':\n this.initRecordPlayer(opt);\n break;\n }\n }\n /**\n * 初始化实时预览播放器\n */\n initRealPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'real';\n this.realPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'real',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl,\n isDynamicLoadLib: false,\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRealRtsp: API.getRealmonitor,\n getTalkRtsp: API.getTalkRtsp, // 获取对讲rtsp接口\n });\n this.player = this.realPlayer;\n // 初始化云台控制组件\n if (opt.pztEl) {\n this.realPlayer.initPanTilt({\n // 云台控制容器的id\n el: opt.pztEl,\n // 云台区域控制接口\n setPtzDirection: API.setPtzDirection,\n // 云台镜头控制接口\n setPtzCamera: API.setPtzCamera,\n // 云台三维定位接口\n controlSitPosition: API.controlSitPosition,\n });\n }\n }\n /**\n * 初始化录像回放播放器\n */\n initRecordPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'record';\n this.recordPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'record',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl, // 默认是否显示工具栏\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRecords: API.getRecords,\n getRecordRtspByTime: API.getRecordRtspByTime,\n getRecordRtspByFile: API.getRecordRtspByFile, // 根据文件形式获取录像rtsp接口\n });\n this.player = this.recordPlayer;\n }\n /**\n * 播放实时预览视频\n * @param opt.channelList: {Array<Object>} 必填,通道列表\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于预览,必填\n // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填\n // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填\n // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填\n // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填\n // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填\n // capability: capability, // {String} 能力集 -- 用于云台,选填\n // }]\n playRealVideo(opt) {\n this.realPlayer &&\n this.realPlayer.playRealVideo(opt.channelList, opt.streamType, opt.windowIndex);\n }\n /**\n * 播放录像回放\n * @param opt.channelList {Array<Object>} 通道集合 必填\n * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒\n * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒\n * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像\n * @param opt.streamType {String|Number} 码流类型 可选\n * @param opt.recordType {String|Number} 录像类型 可选\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于回放,必填\n // }]\n playRecordVideo(opt) {\n this.recordPlayer && this.recordPlayer.getRecordList(opt);\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.recordPlayer && this.recordPlayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.recordPlayer && this.recordPlayer.play();\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n this.player && this.player.close(index);\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n this.player.jumpPlayByTime(time);\n }\n // ----------------- 播放器事件 ------------------------\n __receiveMessageFromWSPlayer(method, data) {\n switch (method) {\n // ------------- 公共事件 ---------------------\n case 'selectWindowChanged': // 选中的窗口发生改变\n this.currentChannelId = data.channelId;\n this.playIndex = data.playIndex;\n break;\n case 'windowNumChanged': // 播放器显示的路数发生改变\n this.playNum = data;\n break;\n case 'closeVideo': // 视频关闭\n // 点击关闭按钮引发的视频关闭进行提示\n // 切换视频引发的视频关闭不进行提示\n if (!data.changeVideoFlag) {\n console.log(`窗口${data.selectIndex}的视频已关闭`);\n }\n break;\n case 'statusChanged': // 视频状态发生改变\n break;\n case 'errorInfo': // 错误信息提示\n // data = {\n // errorCode: xxx,\n // errorMsg: \"\",\n // channelList: [],\n // }\n break;\n }\n }\n}\nexport default PlayerManager;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlayerManager.js","names":["_api","_interopRequireDefault","require","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","Number","WSPlayerConstructor","WSPlayer","PlayerManager","opt","el","realPlayer","recordPlayer","player","type","playNum","playIndex","currentChannelId","recordList","serverIp","ip","init","value","initRealPlayer","initRecordPlayer","num","config","maxNum","showControl","isDynamicLoadLib","receiveMessageFromWSPlayer","__receiveMessageFromWSPlayer","bind","getRealRtsp","API","getRealmonitor","getTalkRtsp","pztEl","initPanTilt","setPtzDirection","setPtzCamera","controlSitPosition","getRecords","getRecordRtspByTime","getRecordRtspByFile","playRealVideo","channelList","streamType","windowIndex","playRecordVideo","getRecordList","pause","play","playSpeed","speed","close","index","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","jumpPlayByTime","time","method","data","channelId","changeVideoFlag","console","log","concat","selectIndex","_default","exports"],"sources":["icc/PlayerManager.js"],"sourcesContent":["// WSPlayer 已经注册到window\nimport API from './api';\nlet WSPlayerConstructor = WSPlayer;\nif (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {\n WSPlayerConstructor = WSPlayer.WSPlayer;\n}\n/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass PlayerManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n // 实时预览播放器\n this.realPlayer = null;\n // 录像回放播放器\n this.recordPlayer = null;\n this.player = null;\n // 实时预览还是录像回放播放器\n this.type = 'real';\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.recordList = [];\n // 如果是http协议,只需使用ip,不需要端口\n this.serverIp = opt.ip;\n this.init(opt);\n }\n init(opt) {\n switch (opt.type) {\n case 'real':\n this.initRealPlayer(opt);\n break;\n case 'record':\n this.initRecordPlayer(opt);\n break;\n }\n }\n /**\n * 初始化实时预览播放器\n */\n initRealPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'real';\n this.realPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'real',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl,\n isDynamicLoadLib: false,\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRealRtsp: API.getRealmonitor,\n getTalkRtsp: API.getTalkRtsp, // 获取对讲rtsp接口\n });\n this.player = this.realPlayer;\n // 初始化云台控制组件\n if (opt.pztEl) {\n this.realPlayer.initPanTilt({\n // 云台控制容器的id\n el: opt.pztEl,\n // 云台区域控制接口\n setPtzDirection: API.setPtzDirection,\n // 云台镜头控制接口\n setPtzCamera: API.setPtzCamera,\n // 云台三维定位接口\n controlSitPosition: API.controlSitPosition,\n });\n }\n }\n /**\n * 初始化录像回放播放器\n */\n initRecordPlayer(opt) {\n if (!this.serverIp) {\n return;\n }\n this.playNum = opt.num;\n this.type = 'record';\n this.recordPlayer = new WSPlayerConstructor({\n el: this.el,\n type: 'record',\n serverIp: this.serverIp,\n config: {\n num: opt.num,\n maxNum: opt.maxNum,\n showControl: opt.showControl, // 默认是否显示工具栏\n },\n receiveMessageFromWSPlayer: opt.receiveMessageFromWSPlayer || this.__receiveMessageFromWSPlayer.bind(this),\n getRecords: API.getRecords,\n getRecordRtspByTime: API.getRecordRtspByTime,\n getRecordRtspByFile: API.getRecordRtspByFile, // 根据文件形式获取录像rtsp接口\n });\n this.player = this.recordPlayer;\n }\n /**\n * 播放实时预览视频\n * @param opt.channelList: {Array<Object>} 必填,通道列表\n * @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2\n * @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于预览,必填\n // isOnline: true, // {Boolean} 是否在线,非在线无法播放 -- 用于预览,必填\n // deviceCode: deviceCode, // {String} 设备编码 -- 用于对讲,对讲必填,无对讲功能可不填\n // deviceType: deviceType, // {String} 设备类型 -- 用于对讲,对讲必填,无对讲功能可不填\n // channelSeq: channelSeq, // {String|Number} 通道序号 -- 用于对讲,对讲必填,无对讲功能可不填\n // cameraType: cameraType, // {String|Number} 摄像头类型 -- 用于云台,云台必填,无云台功能可不填\n // capability: capability, // {String} 能力集 -- 用于云台,选填\n // }]\n playRealVideo(opt) {\n this.realPlayer &&\n this.realPlayer.playRealVideo(opt.channelList, opt.streamType, opt.windowIndex);\n }\n /**\n * 播放录像回放\n * @param opt.channelList {Array<Object>} 通道集合 必填\n * @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒\n * @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒\n * @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像\n * @param opt.streamType {String|Number} 码流类型 可选\n * @param opt.recordType {String|Number} 录像类型 可选\n */\n // channelList: [{\n // id: channelCode, // {String} 通道编码 -- 用于回放,必填\n // }]\n playRecordVideo(opt) {\n this.recordPlayer && this.recordPlayer.getRecordList(opt);\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.recordPlayer && this.recordPlayer.pause();\n }\n /**\n * 录像暂停后播放\n * 只有暂停后的录像调用才有效\n */\n play() {\n this.recordPlayer && this.recordPlayer.play();\n }\n /**\n * 倍速播放\n * @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率\n */\n playSpeed(speed) {\n this.recordPlayer && this.recordPlayer.playSpeed(speed);\n }\n /**\n * 关闭播放器\n * @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器\n */\n close(index) {\n this.player && this.player.close(index);\n }\n /**\n * 设置全屏\n */\n setFullScreen() {\n this.player.setFullScreen();\n }\n /**\n * 设置窗口自适应还是拉伸\n * @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸\n */\n setPlayerAdapter(playerAdapter) {\n this.player.setPlayerAdapter(playerAdapter);\n }\n /**\n * 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数\n * @param {number} number\n */\n setPlayerNum(number) {\n this.player.setPlayerNum(number);\n }\n /**\n * 设置选中的播放器的索引\n * @param {number} index\n */\n setSelectIndex(index) {\n this.player.setSelectIndex(index);\n }\n /**\n * 录像跳转播放\n * @param {string} time HH:mm:ss格式\n */\n jumpPlayByTime(time) {\n this.player.jumpPlayByTime(time);\n }\n // ----------------- 播放器事件 ------------------------\n __receiveMessageFromWSPlayer(method, data) {\n switch (method) {\n // ------------- 公共事件 ---------------------\n case 'selectWindowChanged': // 选中的窗口发生改变\n this.currentChannelId = data.channelId;\n this.playIndex = data.playIndex;\n break;\n case 'windowNumChanged': // 播放器显示的路数发生改变\n this.playNum = data;\n break;\n case 'closeVideo': // 视频关闭\n // 点击关闭按钮引发的视频关闭进行提示\n // 切换视频引发的视频关闭不进行提示\n if (!data.changeVideoFlag) {\n console.log(`窗口${data.selectIndex}的视频已关闭`);\n }\n break;\n case 'statusChanged': // 视频状态发生改变\n break;\n case 'errorInfo': // 错误信息提示\n // data = {\n // errorCode: xxx,\n // errorMsg: \"\",\n // channelList: [],\n // }\n break;\n }\n }\n}\nexport default PlayerManager;\n"],"mappings":"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"}
|