@vtx/player 1.9.1 → 1.9.2

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.
Files changed (113) hide show
  1. package/README.md +2 -2
  2. package/lib/api/fetch.js +67 -69
  3. package/lib/api/fetch.js.map +1 -1
  4. package/lib/api/index.js +34 -47
  5. package/lib/api/index.js.map +1 -1
  6. package/lib/api/types.d.ts +5 -5
  7. package/lib/api/types.js +0 -1
  8. package/lib/api/types.js.map +1 -1
  9. package/lib/bd/PlayerManager.js +8 -7
  10. package/lib/bd/PlayerManager.js.map +1 -1
  11. package/lib/bill-player/index.d.ts +1 -1
  12. package/lib/bill-player/index.js +9 -11
  13. package/lib/bill-player/index.js.map +1 -1
  14. package/lib/bill-player/style/index.less +320 -320
  15. package/lib/components/set-tag-video/index.js +7 -8
  16. package/lib/components/set-tag-video/index.js.map +1 -1
  17. package/lib/components/set-tag-video/style/index.less +125 -125
  18. package/lib/components/split-screen/index.d.ts +1 -1
  19. package/lib/components/split-screen/index.js +3 -5
  20. package/lib/components/split-screen/index.js.map +1 -1
  21. package/lib/components/tag-video/index.js +10 -11
  22. package/lib/components/tag-video/index.js.map +1 -1
  23. package/lib/components/tag-video/style/index.less +69 -69
  24. package/lib/components/video-scale/index.d.ts +1 -1
  25. package/lib/components/video-scale/index.js +2 -3
  26. package/lib/components/video-scale/index.js.map +1 -1
  27. package/lib/config.js +1 -2
  28. package/lib/config.js.map +1 -1
  29. package/lib/context/index.js +3 -5
  30. package/lib/context/index.js.map +1 -1
  31. package/lib/controls/index.d.ts +11 -11
  32. package/lib/controls/index.js +14 -22
  33. package/lib/controls/index.js.map +1 -1
  34. package/lib/controls/style/index.less +192 -192
  35. package/lib/h264/PlayerManager.js +8 -7
  36. package/lib/h264/PlayerManager.js.map +1 -1
  37. package/lib/history-control/index.d.ts +2 -2
  38. package/lib/history-control/index.js +8 -10
  39. package/lib/history-control/index.js.map +1 -1
  40. package/lib/history-control/style/index.less +252 -252
  41. package/lib/history-control-v2/components/grid-item/index.js +10 -11
  42. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  43. package/lib/history-control-v2/components/panel/VideoTable.d.ts +1 -1
  44. package/lib/history-control-v2/components/panel/VideoTable.js +51 -54
  45. package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
  46. package/lib/history-control-v2/components/panel/index.js +14 -16
  47. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  48. package/lib/history-control-v2/context.js +1 -2
  49. package/lib/history-control-v2/context.js.map +1 -1
  50. package/lib/history-control-v2/index.d.ts +4 -4
  51. package/lib/history-control-v2/index.js +71 -75
  52. package/lib/history-control-v2/index.js.map +1 -1
  53. package/lib/history-control-v2/style/index.less +437 -437
  54. package/lib/history-control-v2/utils.js +13 -18
  55. package/lib/history-control-v2/utils.js.map +1 -1
  56. package/lib/history-player/index.d.ts +1 -1
  57. package/lib/history-player/index.js +107 -110
  58. package/lib/history-player/index.js.map +1 -1
  59. package/lib/history-player/style/index.less +102 -102
  60. package/lib/hooks/useSettings.js +1 -2
  61. package/lib/hooks/useSettings.js.map +1 -1
  62. package/lib/icc/PlayerManager.js +9 -8
  63. package/lib/icc/PlayerManager.js.map +1 -1
  64. package/lib/icc/api.d.ts +0 -68
  65. package/lib/icc/api.js +2 -3
  66. package/lib/icc/api.js.map +1 -1
  67. package/lib/icons/index.d.ts +36 -36
  68. package/lib/icons/index.js +37 -73
  69. package/lib/icons/index.js.map +1 -1
  70. package/lib/icons/index.less +32 -32
  71. package/lib/index.js +1 -1
  72. package/lib/index.js.map +1 -1
  73. package/lib/live-channel-player/index.d.ts +1 -1
  74. package/lib/live-channel-player/index.js +29 -32
  75. package/lib/live-channel-player/index.js.map +1 -1
  76. package/lib/live-control/index.d.ts +2 -2
  77. package/lib/live-control/index.js +12 -13
  78. package/lib/live-control/index.js.map +1 -1
  79. package/lib/live-control/style/index.less +99 -99
  80. package/lib/live-control-v2/index.d.ts +3 -3
  81. package/lib/live-control-v2/index.js +18 -20
  82. package/lib/live-control-v2/index.js.map +1 -1
  83. package/lib/live-control-v2/style/index.less +192 -192
  84. package/lib/live-player/index.js +65 -67
  85. package/lib/live-player/index.js.map +1 -1
  86. package/lib/live-player/style/index.less +75 -75
  87. package/lib/mpegts/PlayerManager.js +8 -7
  88. package/lib/mpegts/PlayerManager.js.map +1 -1
  89. package/lib/player/index.d.ts +1 -1
  90. package/lib/player/index.js +50 -51
  91. package/lib/player/index.js.map +1 -1
  92. package/lib/rsl/PlayerManager.d.ts +1 -1
  93. package/lib/rsl/PlayerManager.js +8 -7
  94. package/lib/rsl/PlayerManager.js.map +1 -1
  95. package/lib/typings/@vtx/utils/index.d.ts +28 -28
  96. package/lib/typings/h5player.d.ts +150 -150
  97. package/lib/typings/mpegts.d.ts +7 -7
  98. package/lib/typings/webrtcplayer.d.ts +56 -56
  99. package/lib/typings/wfsplayer.d.ts +56 -56
  100. package/lib/typings/wsplayer.d.ts +99 -99
  101. package/lib/utils/index.d.ts +1 -1
  102. package/lib/utils/index.js +14 -23
  103. package/lib/utils/index.js.map +1 -1
  104. package/lib/vite-env.d.ts +1 -1
  105. package/lib/vtxHls/PlayerManager.js +8 -7
  106. package/lib/vtxHls/PlayerManager.js.map +1 -1
  107. package/lib/vtxHls/WhepManager.js +11 -10
  108. package/lib/vtxHls/WhepManager.js.map +1 -1
  109. package/lib/webrtc/PlayerManager.js +8 -7
  110. package/lib/webrtc/PlayerManager.js.map +1 -1
  111. package/lib/wfs/PlayerManager.js +8 -7
  112. package/lib/wfs/PlayerManager.js.map +1 -1
  113. package/package.json +125 -125
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_controls","_api","_interopRequireDefault","_icons","_player","_utils","_ahooks","_slider","_space","_moment","obj","__esModule","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_arr","_n","_d","_s","_e","next","done","push","value","err","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","e","rejected","result","then","apply","HistoryPlayer","forwardRef","props","ref","url","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","_props$width","width","_props$height","height","captureName","_props$controlBottom","controlBottom","startTime","endTime","onTimeChange","screenshot","_props$showInfo","showInfo","_props$info","info","extraButton","_props$controlVisible","controlVisible","undefined","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","_useSetState2","state","setState","useImperativeHandle","seekTo","time","player","current","useEffect","container","clearInterval","_regenerator","mark","_callee","token","wrap","_callee$","_context","prev","setTimeout","API","getToken","sent","localStorage","setItem","Player","live","playBack","format","TimeFormat","params","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","stop","destroy","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","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","exports","displayName","_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 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 && type !== 'vtx_ws' && (_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 && type !== 'vtx_ws' && (_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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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_controls","_api","_interopRequireDefault","_icons","_player","_utils","_ahooks","_slider","_space","_moment","e","__esModule","_regeneratorRuntime","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","reject","fulfilled","step","rejected","result","apply","HistoryPlayer","exports","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","info","extraButton","_props$controlVisible","controlVisible","undefined","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","_useSetState2","state","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","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 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 && type !== 'vtx_ws' && (_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 && type !== 'vtx_ws' && (_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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","ignoreList":[]}
@@ -1,102 +1,102 @@
1
- .vtx-history-player {
2
- position: relative;
3
- display: flex;
4
- align-items: center;
5
- justify-content: center;
6
- background-color: #2b3d51;
7
- border: 1px solid transparent;
8
-
9
- .controls {
10
- position: absolute;
11
- bottom: 0;
12
- display: flex;
13
- align-items: center;
14
- width: 100%;
15
- height: 30px;
16
- padding: 0 12px;
17
- background-color: #131d27;
18
- border-bottom: 1px solid rgba(82, 196 ,26 , 1);
19
- opacity: 0;
20
- transition: opacity 0.5s;
21
-
22
- .time {
23
- padding: 4px 12px;
24
- margin: 0 12px;
25
- background-color: rgba(145 ,165, 185 , 0.3);
26
-
27
- .current {
28
- color: white;
29
- }
30
-
31
- .total {
32
- color: rgba(255, 255 ,255 , .85);
33
- }
34
- }
35
-
36
- .slider {
37
- flex-grow: 1;
38
- margin-right: 24px;
39
-
40
- .ant-slider {
41
- .ant-slider-rail {
42
- background-color: rgba(173, 176, 180,1);
43
- }
44
- }
45
- }
46
-
47
- .right {
48
- margin-left: auto;
49
-
50
- > div {
51
- height: 24px;
52
- }
53
- }
54
- }
55
-
56
- &:hover {
57
- .controls {
58
- opacity: 1;
59
- }
60
- }
61
-
62
- video {
63
- width: 100%;
64
- height: 100%;
65
- object-fit: fill;
66
- }
67
-
68
- .sub-wnd {
69
- width: 100% !important;
70
- height: 100% !important;
71
- pointer-events: none;
72
- background-color: #2b3d51 !important;
73
- border: 1px solid transparent !important;
74
- }
75
-
76
- .error-container {
77
- position: absolute;
78
- top: 50%;
79
- left: 50%;
80
- display: flex;
81
- flex-direction: column;
82
- align-items: center;
83
- transform: translate(-50%, -50%);
84
-
85
- .text {
86
- margin: 20px 0;
87
- font-size: 14px;
88
- color:rgba(255, 255 ,255 , .65);
89
- }
90
-
91
- img {
92
- cursor: pointer;
93
- }
94
- }
95
-
96
- .loading-container {
97
- position: absolute;
98
- top: 50%;
99
- left: 50%;
100
- transform: translate(-50%, -50%);
101
- }
102
- }
1
+ .vtx-history-player {
2
+ position: relative;
3
+ display: flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ background-color: #2b3d51;
7
+ border: 1px solid transparent;
8
+
9
+ .controls {
10
+ position: absolute;
11
+ bottom: 0;
12
+ display: flex;
13
+ align-items: center;
14
+ width: 100%;
15
+ height: 30px;
16
+ padding: 0 12px;
17
+ background-color: #131d27;
18
+ border-bottom: 1px solid rgba(82, 196 ,26 , 1);
19
+ opacity: 0;
20
+ transition: opacity 0.5s;
21
+
22
+ .time {
23
+ padding: 4px 12px;
24
+ margin: 0 12px;
25
+ background-color: rgba(145 ,165, 185 , 0.3);
26
+
27
+ .current {
28
+ color: white;
29
+ }
30
+
31
+ .total {
32
+ color: rgba(255, 255 ,255 , .85);
33
+ }
34
+ }
35
+
36
+ .slider {
37
+ flex-grow: 1;
38
+ margin-right: 24px;
39
+
40
+ .ant-slider {
41
+ .ant-slider-rail {
42
+ background-color: rgba(173, 176, 180,1);
43
+ }
44
+ }
45
+ }
46
+
47
+ .right {
48
+ margin-left: auto;
49
+
50
+ > div {
51
+ height: 24px;
52
+ }
53
+ }
54
+ }
55
+
56
+ &:hover {
57
+ .controls {
58
+ opacity: 1;
59
+ }
60
+ }
61
+
62
+ video {
63
+ width: 100%;
64
+ height: 100%;
65
+ object-fit: fill;
66
+ }
67
+
68
+ .sub-wnd {
69
+ width: 100% !important;
70
+ height: 100% !important;
71
+ pointer-events: none;
72
+ background-color: #2b3d51 !important;
73
+ border: 1px solid transparent !important;
74
+ }
75
+
76
+ .error-container {
77
+ position: absolute;
78
+ top: 50%;
79
+ left: 50%;
80
+ display: flex;
81
+ flex-direction: column;
82
+ align-items: center;
83
+ transform: translate(-50%, -50%);
84
+
85
+ .text {
86
+ margin: 20px 0;
87
+ font-size: 14px;
88
+ color:rgba(255, 255 ,255 , .65);
89
+ }
90
+
91
+ img {
92
+ cursor: pointer;
93
+ }
94
+ }
95
+
96
+ .loading-container {
97
+ position: absolute;
98
+ top: 50%;
99
+ left: 50%;
100
+ transform: translate(-50%, -50%);
101
+ }
102
+ }
@@ -18,6 +18,5 @@ var useSettings = function useSettings() {
18
18
  isDark: theme === 'light'
19
19
  };
20
20
  };
21
- var _default = useSettings;
22
- exports["default"] = _default;
21
+ var _default = exports["default"] = useSettings;
23
22
  //# sourceMappingURL=useSettings.js.map
@@ -1 +1 @@
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","ignoreList":[]}
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,GAAAC,OAAA,cACaP,WAAW","ignoreList":[]}
@@ -5,10 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
  var _api = _interopRequireDefault(require("./api"));
8
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
- 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); } }
11
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } // WSPlayer 已经注册到window
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
10
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
11
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
12
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
13
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
14
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } // WSPlayer 已经注册到window
12
15
  var WSPlayerConstructor = WSPlayer;
13
16
  if (WSPlayer === null || WSPlayer === void 0 ? void 0 : WSPlayer.WSPlayer) {
14
17
  WSPlayerConstructor = WSPlayer.WSPlayer;
@@ -41,7 +44,7 @@ var PlayerManager = /*#__PURE__*/function () {
41
44
  this.serverIp = opt.ip;
42
45
  this.init(opt);
43
46
  }
44
- _createClass(PlayerManager, [{
47
+ return _createClass(PlayerManager, [{
45
48
  key: "init",
46
49
  value: function init(opt) {
47
50
  switch (opt.type) {
@@ -274,8 +277,6 @@ var PlayerManager = /*#__PURE__*/function () {
274
277
  }
275
278
  }
276
279
  }]);
277
- return PlayerManager;
278
280
  }();
279
- var _default = PlayerManager;
280
- exports["default"] = _default;
281
+ var _default = exports["default"] = PlayerManager;
281
282
  //# sourceMappingURL=PlayerManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerManager.js","names":["_api","_interopRequireDefault","require","obj","__esModule","_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","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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","ignoreList":[]}
1
+ {"version":3,"file":"PlayerManager.js","names":["_api","_interopRequireDefault","require","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","a","n","TypeError","_defineProperties","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","call","String","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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","ignoreList":[]}