@vtx/player 1.10.4 → 1.10.5

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.
@@ -139,6 +139,8 @@ var HistoryPlayer = exports.HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(
139
139
  vRef.current = null;
140
140
  }
141
141
  if (!url || !container) return;
142
+ var playerParams = (0, _utils2.getPlayerParams)(type, url, enableAgent, true);
143
+ var transType = type || playerParams.type;
142
144
  var player = null;
143
145
  playerRef.current = null;
144
146
  (function () {
@@ -147,7 +149,7 @@ var HistoryPlayer = exports.HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(
147
149
  return _regenerator().w(function (_context) {
148
150
  while (1) switch (_context.n) {
149
151
  case 0:
150
- if (!(type === 'bd')) {
152
+ if (!(transType === 'bd')) {
151
153
  _context.n = 1;
152
154
  break;
153
155
  }
@@ -171,7 +173,7 @@ var HistoryPlayer = exports.HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(
171
173
  localStorage.setItem('accessToken', token);
172
174
  case 3:
173
175
  PLAYER = null;
174
- _t = type;
176
+ _t = transType;
175
177
  _context.n = _t === 'flv' ? 4 : _t === 'hls' ? 5 : _t === 'vtxhls' ? 6 : _t === 'vtxwhep' ? 7 : _t === 'hk_ws' ? 8 : _t === 'hkcar_ws' ? 9 : _t === 'vtx_ws' ? 10 : _t === 'icc_ws' ? 11 : _t === 'webrtc' ? 12 : _t === 'wfs' ? 13 : _t === 'h264' ? 14 : _t === 'bd' ? 15 : _t === 'mp4' ? 16 : _t === 'iframe' ? 17 : _t === 'rsl' ? 18 : 19;
176
178
  break;
177
179
  case 4:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_controls","_utils","_api2","_interopRequireDefault","_icons","_index","_utils2","_utils3","_ahooks","_slider","_space","_moment","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","next","push","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","result","then","apply","HistoryPlayer","exports","forwardRef","props","ref","url","originalUrl","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","_props$width","width","_props$height","height","captureName","_props$controlBottom","controlBottom","startTime","endTime","onTimeChange","handleUrlChange","screenshot","reload","_props$showInfo","showInfo","_props$info","info","extraButton","_props$controlVisible","controlVisible","undefined","_props$timelineCurren","timelineCurrentTime","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","bdPlayerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","currUrl","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","reloadFlag","_useSetState2","state","setState","_useRequest","useRequest","getPlaybackUrlVtxWs","manual","GetVtxWsUrl","runAsync","useImperativeHandle","seekTo","useEffect","container","current","clearInterval","player","_callee","token","PLAYER","_t","_context","setTimeout","API","getToken","localStorage","setItem","FlvPlayer","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","Mp4Player","IframePlayer","RslPlayer","live","includes","playBack","res","format","TimeFormat","params","handleBDPlay","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","ct","destroy","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","st","handleVtxWsPlay","time","handlePause","pause","handleResume","resume","rtspUrl","getVtxWsUrl","getVtxWSTimeString","getVtxToken","data","getPlayTime","_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 { getPlaybackUrlVtxWs } from '../api';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport { getVtxWsUrl } from '../history-control-v2/utils';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport { BdPlayer, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, WebrtcPlayer, WfsPlayer, } from '../player/index';\nimport { TimeFormat, getVtxWSTimeString, guidGenerator } from '../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useDebounce, useFullscreen, useRequest, useSetState } from 'ahooks';\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, originalUrl, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, handleUrlChange, screenshot, reload, showInfo = false, info = [], extraButton, controlVisible = undefined, timelineCurrentTime = '', } = 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 bdPlayerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n currUrl: '',\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 reloadFlag: 0,\n });\n const { runAsync: GetVtxWsUrl } = useRequest(getPlaybackUrlVtxWs, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: seekTo,\n };\n });\n useEffect(() => {\n if (timelineCurrentTime) {\n seekTo(timelineCurrentTime);\n }\n }, [timelineCurrentTime]);\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 playerRef.current = 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 let PLAYER = null;\n switch (type) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n default:\n break;\n }\n player = yield new PLAYER({\n url,\n originalUrl,\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 reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n progress: 0,\n controls: { progress: ['hk_ws', 'hkcar_ws', 'bd', 'vtx_ws'].includes(player.type) },\n progressVisible: true,\n speedVisible: player.type !== 'bd',\n });\n player\n .playBack()\n .then((res) => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n loading: false,\n });\n let i = 1;\n if (type === 'bd') {\n bdPlayerRef.current = res;\n handleBDPlay(res);\n }\n else if (type !== 'vtx_ws') {\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 })\n .catch(() => setState({ error: true, loading: false }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n const ct = state.currUrl\n ? moment(state.currentTime).diff(startTime, 'seconds') + _currentTime\n : _currentTime;\n setState({\n progress: Math.floor((ct / totalTime) * 100),\n currentTime: moment(state.currUrl ? state.currentTime : startTime)\n .add(Math.floor(_currentTime), 'seconds')\n .format(TimeFormat.params),\n speed,\n });\n }\n });\n }))();\n return () => {\n player && 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 useEffect(() => {\n if (state.currUrl) {\n handleUrlChange &&\n handleUrlChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.currUrl);\n }\n }, [state.currUrl]);\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 const st = moment(state.currentTime).add(currentTime, 'seconds').format(TimeFormat.params);\n if (type === 'vtx_ws') {\n handleVtxWsPlay(st, value);\n return;\n }\n setState({\n progress2: value,\n currentTime: st,\n });\n if (type === 'bd') {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n return;\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 // 点击分段panel播放该段视频并定位到时间点播放\n const 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 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 === 'vtx_ws') {\n handleVtxWsPlay(state.currentTime, state.progress);\n }\n if (type === 'bd') {\n player === null || player === void 0 ? void 0 : player.resume(() => {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n });\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 const handleVtxWsPlay = (st, value) => {\n setState({\n loading: true,\n });\n const rtspUrl = getVtxWsUrl(originalUrl, getVtxWSTimeString(st), getVtxWSTimeString(endTime));\n //vtx_ws 重新获取url\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n playerRef.current.destroy();\n setState({\n progress2: value,\n currentTime: st,\n currUrl: data,\n loading: false,\n });\n });\n };\n const handleBDPlay = (res) => {\n // 北斗视频通过cmsv6实例获取播放器时间\n if ((res === null || res === void 0 ? void 0 : res.getPlayTime()) >= 0) {\n vRef.current && clearInterval(vRef.current);\n vRef.current = setInterval(() => {\n if (moment(startTime)\n .add(res.getPlayTime() + 1, 's')\n .unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n if (!state.loading && res.getPlayTime() > 0) {\n setState({\n currentTime: moment(startTime)\n .add(res.getPlayTime(), 's')\n .format(TimeFormat.params),\n progress: Math.floor(((res.getPlayTime() + 1 || 0) / totalTime) * 100),\n });\n }\n }\n }, 1000);\n }\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 && 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","_api","_controls","_utils","_api2","_interopRequireDefault","_icons","_index","_utils2","_utils3","_ahooks","_slider","_space","_moment","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","next","push","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","result","then","apply","HistoryPlayer","exports","forwardRef","props","ref","url","originalUrl","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","_props$width","width","_props$height","height","captureName","_props$controlBottom","controlBottom","startTime","endTime","onTimeChange","handleUrlChange","screenshot","reload","_props$showInfo","showInfo","_props$info","info","extraButton","_props$controlVisible","controlVisible","undefined","_props$timelineCurren","timelineCurrentTime","vRef","useRef","totalTime","moment","diff","containerRef","wrapRef","controlsRef","playerRef","bdPlayerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","currUrl","play","error","loading","id","guidGenerator","volume","currentTime","progress","progress2","controls","progressVisible","speedVisible","reloadFlag","_useSetState2","state","setState","_useRequest","useRequest","getPlaybackUrlVtxWs","manual","GetVtxWsUrl","runAsync","useImperativeHandle","seekTo","useEffect","container","current","clearInterval","playerParams","getPlayerParams","transType","player","_callee","token","PLAYER","_t","_context","setTimeout","API","getToken","localStorage","setItem","FlvPlayer","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","Mp4Player","IframePlayer","RslPlayer","live","includes","playBack","res","format","TimeFormat","params","handleBDPlay","setInterval","add","unix","Math","floor","onTimeUpdate","_currentTime","speed","ct","destroy","endProgress","useDebounce","wait","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","st","handleVtxWsPlay","time","handlePause","pause","handleResume","resume","rtspUrl","getVtxWsUrl","getVtxWSTimeString","getVtxToken","data","getPlayTime","_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 { getPlaybackUrlVtxWs } from '../api';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport { getVtxWsUrl } from '../history-control-v2/utils';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport { BdPlayer, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, WebrtcPlayer, WfsPlayer, } from '../player/index';\nimport { TimeFormat, getPlayerParams, getVtxWSTimeString, guidGenerator } from '../utils';\nimport { getVtxToken } from '@vtx/utils';\nimport { useDebounce, useFullscreen, useRequest, useSetState } from 'ahooks';\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, originalUrl, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, handleUrlChange, screenshot, reload, showInfo = false, info = [], extraButton, controlVisible = undefined, timelineCurrentTime = '', } = 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 bdPlayerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n currUrl: '',\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 reloadFlag: 0,\n });\n const { runAsync: GetVtxWsUrl } = useRequest(getPlaybackUrlVtxWs, {\n manual: true,\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: seekTo,\n };\n });\n useEffect(() => {\n if (timelineCurrentTime) {\n seekTo(timelineCurrentTime);\n }\n }, [timelineCurrentTime]);\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 const playerParams = getPlayerParams(type, url, enableAgent, true);\n const transType = type || playerParams.type;\n let player = null;\n playerRef.current = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n if (transType === '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 let PLAYER = null;\n switch (transType) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n default:\n break;\n }\n player = yield new PLAYER({\n url,\n originalUrl,\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 reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n });\n playerRef.current = player;\n yield setState({\n loading: true,\n error: false,\n progress: 0,\n controls: { progress: ['hk_ws', 'hkcar_ws', 'bd', 'vtx_ws'].includes(player.type) },\n progressVisible: true,\n speedVisible: player.type !== 'bd',\n });\n player\n .playBack()\n .then((res) => {\n setState({\n play: true,\n currentTime: moment(startTime).format(TimeFormat.params),\n loading: false,\n });\n let i = 1;\n if (type === 'bd') {\n bdPlayerRef.current = res;\n handleBDPlay(res);\n }\n else if (type !== 'vtx_ws') {\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 })\n .catch(() => setState({ error: true, loading: false }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((_currentTime, speed) => {\n if (!state.loading) {\n const ct = state.currUrl\n ? moment(state.currentTime).diff(startTime, 'seconds') + _currentTime\n : _currentTime;\n setState({\n progress: Math.floor((ct / totalTime) * 100),\n currentTime: moment(state.currUrl ? state.currentTime : startTime)\n .add(Math.floor(_currentTime), 'seconds')\n .format(TimeFormat.params),\n speed,\n });\n }\n });\n }))();\n return () => {\n player && 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 useEffect(() => {\n if (state.currUrl) {\n handleUrlChange &&\n handleUrlChange(state.currentTime ? moment(state.currentTime).format(TimeFormat.params) : '', state.currUrl);\n }\n }, [state.currUrl]);\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 const st = moment(state.currentTime).add(currentTime, 'seconds').format(TimeFormat.params);\n if (type === 'vtx_ws') {\n handleVtxWsPlay(st, value);\n return;\n }\n setState({\n progress2: value,\n currentTime: st,\n });\n if (type === 'bd') {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n return;\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 // 点击分段panel播放该段视频并定位到时间点播放\n const 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 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 === 'vtx_ws') {\n handleVtxWsPlay(state.currentTime, state.progress);\n }\n if (type === 'bd') {\n player === null || player === void 0 ? void 0 : player.resume(() => {\n const res = bdPlayerRef.current;\n handleBDPlay(res);\n });\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 const handleVtxWsPlay = (st, value) => {\n setState({\n loading: true,\n });\n const rtspUrl = getVtxWsUrl(originalUrl, getVtxWSTimeString(st), getVtxWSTimeString(endTime));\n //vtx_ws 重新获取url\n GetVtxWsUrl({\n rtspUrl,\n token: getVtxToken('token'),\n }).then((data) => {\n playerRef.current.destroy();\n setState({\n progress2: value,\n currentTime: st,\n currUrl: data,\n loading: false,\n });\n });\n };\n const handleBDPlay = (res) => {\n // 北斗视频通过cmsv6实例获取播放器时间\n if ((res === null || res === void 0 ? void 0 : res.getPlayTime()) >= 0) {\n vRef.current && clearInterval(vRef.current);\n vRef.current = setInterval(() => {\n if (moment(startTime)\n .add(res.getPlayTime() + 1, 's')\n .unix() >= moment(endTime).unix()) {\n clearInterval(vRef.current);\n vRef.current = null;\n setState({\n currentTime: '',\n progress: 0,\n });\n }\n else {\n if (!state.loading && res.getPlayTime() > 0) {\n setState({\n currentTime: moment(startTime)\n .add(res.getPlayTime(), 's')\n .format(TimeFormat.params),\n progress: Math.floor(((res.getPlayTime() + 1 || 0) / totalTime) * 100),\n });\n }\n }\n }, 1000);\n }\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 && 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":[]}
@@ -115,6 +115,8 @@ var LivePlayer = function LivePlayer(props, selfRef) {
115
115
  (_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.destroy();
116
116
  return;
117
117
  }
118
+ var playerParams = (0, _utils.getPlayerParams)(type, url, enableAgent, true);
119
+ var transType = type || playerParams.type;
118
120
  var player = null;
119
121
  (function () {
120
122
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator().m(function _callee() {
@@ -135,7 +137,7 @@ var LivePlayer = function LivePlayer(props, selfRef) {
135
137
  localStorage.setItem('accessToken', token);
136
138
  case 2:
137
139
  PLAYER = null;
138
- _t = type;
140
+ _t = transType;
139
141
  _context.n = _t === 'flv' ? 3 : _t === 'hls' ? 4 : _t === 'vtxhls' ? 5 : _t === 'vtxwhep' ? 6 : _t === 'hk_ws' ? 7 : _t === 'hkcar_ws' ? 8 : _t === 'vtx_ws' ? 9 : _t === 'icc_ws' ? 10 : _t === 'webrtc' ? 11 : _t === 'wfs' ? 12 : _t === 'h264' ? 13 : _t === 'bd' ? 14 : _t === 'mp4' ? 15 : _t === 'iframe' ? 16 : _t === 'rsl' ? 17 : 18;
140
142
  break;
141
143
  case 3:
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_controls","_api","_interopRequireDefault","_icons","_index","_utils","_ahooks","_space","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","next","push","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","result","then","apply","LivePlayer","props","selfRef","empty","url","beenHasVideo","deviceIp","devicePort","userName","password","enableAgent","_props$width","width","_props$height","height","captureName","type","channelNum","deviceId","streamType","deviceCode","cloudParams","_props$showInfo","showInfo","_props$info","info","screenshot","loaded","reload","onClose","ref","useRef","wrapRef","controlsRef","playerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","_useSetState2","state","setState","useImperativeHandle","player","current","resize","useEffect","_a","container","destroy","_callee","token","PLAYER","_t","_context","API","getToken","localStorage","setItem","FlvPlayer","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","Mp4Player","IframePlayer","RslPlayer","handleCapture","capture","stopPropagation","handleFullScreen","_jsxs","assign","className","style","children","_jsx","ErrorState","onClick","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","_default","exports","forwardRef"],"sources":["live-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 } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport { BdPlayer, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, WebrtcPlayer, WfsPlayer, } from '../player/index';\nimport { guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nconst LivePlayer = (props, selfRef) => {\n const { empty, url, beenHasVideo, deviceIp, devicePort, userName, password, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, streamType, deviceCode, cloudParams, showInfo = false, info = [], screenshot, loaded, reload, onClose, } = props;\n const ref = 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 showCloudPanel: false,\n });\n useImperativeHandle(selfRef, () => {\n return {\n player: playerRef.current,\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n };\n });\n useEffect(() => {\n var _a;\n const container = ref.current;\n if (!url || !container || empty) {\n (_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n return;\n }\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\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 let PLAYER = null;\n switch (type) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n default:\n break;\n }\n if (PLAYER) {\n player = yield new PLAYER({\n url,\n deviceIp,\n deviceId,\n devicePort,\n userName,\n password,\n streamType,\n deviceCode,\n channelNum,\n enableAgent,\n container,\n type,\n reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n onClose: () => {\n if (typeof onClose === 'function') {\n onClose();\n }\n },\n });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player\n .play()\n .then(() => {\n setState({ play: true, error: false });\n })\n .catch(() => setState({ error: true }))\n .finally(() => {\n setState({ loading: false });\n loaded && loaded();\n });\n }\n }))();\n return () => {\n player === null || player === void 0 ? void 0 : player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, empty]);\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return !empty ? (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), state.error && _jsx(ErrorState, { onClick: reload }), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), beenHasVideo && channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] }))) : null;\n};\n// LivePlayer.displayName = 'live-player';\nexport default forwardRef(LivePlayer);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_controls","_api","_interopRequireDefault","_icons","_index","_utils","_ahooks","_space","e","__esModule","_regenerator","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","w","m","defineProperty","_regeneratorDefine","enumerable","configurable","writable","_invoke","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","next","push","isArray","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","rejected","result","then","apply","LivePlayer","props","selfRef","empty","url","beenHasVideo","deviceIp","devicePort","userName","password","enableAgent","_props$width","width","_props$height","height","captureName","type","channelNum","deviceId","streamType","deviceCode","cloudParams","_props$showInfo","showInfo","_props$info","info","screenshot","loaded","reload","onClose","ref","useRef","wrapRef","controlsRef","playerRef","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","_useSetState","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","_useSetState2","state","setState","useImperativeHandle","player","current","resize","useEffect","_a","container","destroy","playerParams","getPlayerParams","transType","_callee","token","PLAYER","_t","_context","API","getToken","localStorage","setItem","FlvPlayer","HlsPlayer","VtxHlsPlayer","VtxwhepPlayer","HkwsPlayer","HkcarwsPlayer","VtxwsPlayer","IccwsPlayer","WebrtcPlayer","WfsPlayer","H264Player","BdPlayer","Mp4Player","IframePlayer","RslPlayer","handleCapture","capture","stopPropagation","handleFullScreen","_jsxs","assign","className","style","children","_jsx","ErrorState","onClick","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","_default","exports","forwardRef"],"sources":["live-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 } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport { BdPlayer, FlvPlayer, H264Player, HkcarwsPlayer, HkwsPlayer, HlsPlayer, IccwsPlayer, IframePlayer, Mp4Player, RslPlayer, VtxHlsPlayer, VtxwhepPlayer, VtxwsPlayer, WebrtcPlayer, WfsPlayer, } from '../player/index';\nimport { getPlayerParams, guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nconst LivePlayer = (props, selfRef) => {\n const { empty, url, beenHasVideo, deviceIp, devicePort, userName, password, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, streamType, deviceCode, cloudParams, showInfo = false, info = [], screenshot, loaded, reload, onClose, } = props;\n const ref = 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 showCloudPanel: false,\n });\n useImperativeHandle(selfRef, () => {\n return {\n player: playerRef.current,\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n };\n });\n useEffect(() => {\n var _a;\n const container = ref.current;\n if (!url || !container || empty) {\n (_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n return;\n }\n const playerParams = getPlayerParams(type, url, enableAgent, true);\n const transType = type || playerParams.type;\n let player = null;\n (() => __awaiter(void 0, void 0, void 0, function* () {\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 let PLAYER = null;\n switch (transType) {\n case 'flv':\n PLAYER = FlvPlayer;\n break;\n case 'hls':\n PLAYER = HlsPlayer;\n break;\n case 'vtxhls':\n PLAYER = VtxHlsPlayer;\n break;\n case 'vtxwhep':\n PLAYER = VtxwhepPlayer;\n break;\n case 'hk_ws':\n PLAYER = HkwsPlayer;\n break;\n case 'hkcar_ws':\n PLAYER = HkcarwsPlayer;\n break;\n case 'vtx_ws':\n PLAYER = VtxwsPlayer;\n break;\n case 'icc_ws':\n PLAYER = IccwsPlayer;\n break;\n case 'webrtc':\n PLAYER = WebrtcPlayer;\n break;\n case 'wfs':\n PLAYER = WfsPlayer;\n break;\n case 'h264':\n PLAYER = H264Player;\n break;\n case 'bd':\n PLAYER = BdPlayer;\n break;\n case 'mp4':\n PLAYER = Mp4Player;\n break;\n case 'iframe':\n PLAYER = IframePlayer;\n break;\n case 'rsl':\n PLAYER = RslPlayer;\n break;\n default:\n break;\n }\n if (PLAYER) {\n player = yield new PLAYER({\n url,\n deviceIp,\n deviceId,\n devicePort,\n userName,\n password,\n streamType,\n deviceCode,\n channelNum,\n enableAgent,\n container,\n type,\n reload: () => {\n if (typeof reload === 'function') {\n reload();\n }\n },\n onClose: () => {\n if (typeof onClose === 'function') {\n onClose();\n }\n },\n });\n playerRef.current = player;\n setState({ loading: true, error: false });\n player\n .play()\n .then(() => {\n setState({ play: true, error: false });\n })\n .catch(() => setState({ error: true }))\n .finally(() => {\n setState({ loading: false });\n loaded && loaded();\n });\n }\n }))();\n return () => {\n player === null || player === void 0 ? void 0 : player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, empty]);\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n return !empty ? (_jsxs(\"div\", Object.assign({ className: \"vtx-live-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), state.error && _jsx(ErrorState, { onClick: reload }), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), beenHasVideo && channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] }))) : null;\n};\n// LivePlayer.displayName = 'live-player';\nexport default forwardRef(LivePlayer);\n"],"mappings":"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","ignoreList":[]}
@@ -43,7 +43,9 @@ var MpegtsManager = /*#__PURE__*/function () {
43
43
  var player = mpegts.createPlayer({
44
44
  type: 'flv',
45
45
  isLive: false,
46
- url: this.url
46
+ url: this.url,
47
+ hasAudio: false,
48
+ hasVideo: true
47
49
  });
48
50
  player.attachMediaElement(this.el);
49
51
  player.load();
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerManager.js","names":["MpegtsManager","opt","_classCallCheck","el","player","url","type","playNum","playIndex","currentChannelId","isLive","initPlayer","_createClass","key","value","mpegts","isSupported","createPlayer","attachMediaElement","load","pause","play","destroy","unload","detachMediaElement","setVolume","volume","playSpeed","speed","recordPlayer","close","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["mpegts/PlayerManager.js"],"sourcesContent":["/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass MpegtsManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.isLive = false;\n this.initPlayer(opt);\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer() {\n if (mpegts.isSupported()) {\n const player = mpegts.createPlayer({\n type: 'flv',\n isLive: false,\n url: this.url,\n });\n player.attachMediaElement(this.el);\n player.load();\n this.player = player;\n }\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.player && this.player.pause();\n }\n play() {\n this.player && this.player.play();\n }\n destroy() {\n this.player.unload();\n this.player.detachMediaElement();\n this.player.destroy();\n }\n setVolume(volume) {\n this.player.volume = volume;\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() {\n this.player && this.player.close();\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}\nexport default MpegtsManager;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PlayerManager.js","names":["MpegtsManager","opt","_classCallCheck","el","player","url","type","playNum","playIndex","currentChannelId","isLive","initPlayer","_createClass","key","value","mpegts","isSupported","createPlayer","hasAudio","hasVideo","attachMediaElement","load","pause","play","destroy","unload","detachMediaElement","setVolume","volume","playSpeed","speed","recordPlayer","close","setFullScreen","setPlayerAdapter","playerAdapter","setPlayerNum","number","setSelectIndex","index","jumpPlayByTime","time","_default","exports"],"sources":["mpegts/PlayerManager.js"],"sourcesContent":["/**\n * WSPlayer是核心组件\n * API 封装了接口\n */\nclass MpegtsManager {\n constructor(opt) {\n // 播放器所在的容器ID\n this.el = opt.el;\n this.player = null;\n this.url = opt.url;\n // 实时预览还是录像回放播放器\n this.type = opt.type;\n // 窗口的数量\n this.playNum = 1;\n // 当前选中的窗口的索引\n this.playIndex = 0;\n // 当前选中窗口正在播放视频的通道\n this.currentChannelId = '';\n // 索引对应窗口,保存当日录像信息\n this.isLive = false;\n this.initPlayer(opt);\n }\n /**\n * 初始化实时预览播放器\n */\n initPlayer() {\n if (mpegts.isSupported()) {\n const player = mpegts.createPlayer({\n type: 'flv',\n isLive: false,\n url: this.url,\n hasAudio: false,\n hasVideo: true,\n });\n player.attachMediaElement(this.el);\n player.load();\n this.player = player;\n }\n }\n /**\n * 录像暂停\n * 只有正在播放的录像调用才有效\n */\n pause() {\n this.player && this.player.pause();\n }\n play() {\n this.player && this.player.play();\n }\n destroy() {\n this.player.unload();\n this.player.detachMediaElement();\n this.player.destroy();\n }\n setVolume(volume) {\n this.player.volume = volume;\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() {\n this.player && this.player.close();\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}\nexport default MpegtsManager;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/player",
3
- "version": "1.10.4",
3
+ "version": "1.10.5",
4
4
  "private": false,
5
5
  "description": "视频业务组件",
6
6
  "main": "./lib/index.js",