@vtx/player 1.12.2 → 1.12.3

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 (49) hide show
  1. package/lib/bill-player/index.js +35 -27
  2. package/lib/bill-player/index.js.map +1 -1
  3. package/lib/history-control/index.d.ts +1 -1
  4. package/lib/history-control/index.js +10 -4
  5. package/lib/history-control/index.js.map +1 -1
  6. package/lib/history-control-v2/components/grid-item/index.d.ts +5 -4
  7. package/lib/history-control-v2/components/grid-item/index.js +9 -1
  8. package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
  9. package/lib/history-control-v2/components/panel/VideoTable.js +1 -0
  10. package/lib/history-control-v2/components/panel/VideoTable.js.map +1 -1
  11. package/lib/history-control-v2/components/panel/index.js +119 -52
  12. package/lib/history-control-v2/components/panel/index.js.map +1 -1
  13. package/lib/history-control-v2/utils.d.ts +2 -0
  14. package/lib/history-control-v2/utils.js +18 -8
  15. package/lib/history-control-v2/utils.js.map +1 -1
  16. package/lib/live-control/index.d.ts +3 -1
  17. package/lib/live-control/index.js +25 -15
  18. package/lib/live-control/index.js.map +1 -1
  19. package/lib/live-control-v2/index.d.ts +2 -2
  20. package/lib/live-control-v2/index.js +78 -49
  21. package/lib/live-control-v2/index.js.map +1 -1
  22. package/lib/player/BdPlayer.d.ts +0 -1
  23. package/lib/player/FlvPlayer.d.ts +0 -1
  24. package/lib/player/H264Player.d.ts +0 -1
  25. package/lib/player/HkcarwsPlayer.d.ts +0 -1
  26. package/lib/player/HkwsPlayer.d.ts +0 -1
  27. package/lib/player/HkwsPlayer.js +1 -0
  28. package/lib/player/HkwsPlayer.js.map +1 -1
  29. package/lib/player/HlsPlayer.d.ts +0 -1
  30. package/lib/player/IccwsPlayer.d.ts +0 -1
  31. package/lib/player/IframePlayer.d.ts +0 -1
  32. package/lib/player/Mp4Player.d.ts +0 -1
  33. package/lib/player/RslPlayer.d.ts +0 -1
  34. package/lib/player/VtxHlsPlayer.d.ts +0 -1
  35. package/lib/player/VtxwhepPlayer.d.ts +0 -1
  36. package/lib/player/VtxwsPlayer.d.ts +0 -1
  37. package/lib/player/Web34Player.d.ts +0 -4
  38. package/lib/player/Web34Player.js +3 -6
  39. package/lib/player/Web34Player.js.map +1 -1
  40. package/lib/player/WebrtcPlayer.d.ts +0 -1
  41. package/lib/player/WfsPlayer.d.ts +0 -1
  42. package/lib/player/YsyPlayer.d.ts +0 -4
  43. package/lib/player/YsyPlayer.js +4 -4
  44. package/lib/player/YsyPlayer.js.map +1 -1
  45. package/lib/player/indexOld.d.ts +0 -1
  46. package/lib/utils/web34-iframe.d.ts +23 -0
  47. package/lib/utils/web34-iframe.js +61 -0
  48. package/lib/utils/web34-iframe.js.map +1 -0
  49. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_icons","_livePlayer","_icons2","_utils","_ahooks","_space","_moment","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","t","toString","call","slice","constructor","name","test","length","n","l","i","u","f","o","next","Object","done","push","value","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","scale","defaultGrid","_props$hasCloudContro","hasCloudControl","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","dragRef","useRef","playRefs","wrapRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","arguments","undefined","adapt","getGrid","Number","channelLength","filter","v","map","item","_a","_b","_loop","_i","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","values","forEach","player","saveRecordFetch","handleExpand","resizeAll","updateScale","timer","setTimeout","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","_loop2","element","_jsx","GridItem","active","onClick","onClose","moment","format","_index","el","parentNode","previousElementSibling","findParent","className","indexOf","_jsxs","assign","style","children","concat","onDragStart","target","onDragOver","indexDraging","indexTarget","insertBefore","nextSibling","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","_useState","useState","_useState2","actData","setActData","loading","getPreviewUrl","then","res","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","draggable","url","_Fragment","PlayerHeader","VtxLivePlayer","beenHasVideo","beenHasAudio","hkType","userName","password","deviceIp","devicePort","captureName","deviceId","enableAgent","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getVtxToken","ptzType","reload","currentIndex","currentChannels","grids","len","_default","exports"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { getVtxToken } from '@vtx/utils';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, defaultGrid, hasCloudControl = false, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const dragRef = useRef(null);\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(defaultGrid || DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.saveRecordFetch();\n });\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, hasCloudControl: hasCloudControl, onClose: () => {\n var _a;\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n (_a = playRefs.current[i]) === null || _a === void 0 ? void 0 : _a.saveRecordFetch(moment().format('YYYY-MM-DD HH:mm:ss'));\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n function _index(el) {\n let index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n // previousElementSibling:上一个兄弟元素\n while (el && (el = el.previousElementSibling)) {\n index++;\n }\n return index;\n }\n function findParent(el, className) {\n if (el.className &&\n typeof el.className == 'string' &&\n el.className.indexOf(className) > -1) {\n return el;\n }\n return findParent(el.parentNode, className);\n }\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}`, onDragStart: (e) => {\n dragRef.current = e.target;\n }, onDragOver: (e) => {\n if (!e.target) {\n return;\n }\n let target = e.target;\n if (target == null) {\n return;\n }\n target = findParent(target, 'grid-item-container');\n const indexDraging = _index(dragRef.current), indexTarget = _index(target);\n try {\n if (indexDraging < indexTarget) {\n // 目标比元素大,插到其后面\n // extSibling下一个兄弟元素\n target.parentNode.insertBefore(dragRef.current, target.nextSibling);\n }\n else if (indexDraging > indexTarget) {\n // 目标比元素小,插到其前面\n target.parentNode.insertBefore(dragRef.current, target);\n }\n resizeAll();\n }\n catch (e) {\n //\n }\n } }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale, hasCloudControl } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const loading = false;\n useEffect(() => {\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const handlePtzType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type];\n };\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef, draggable: true }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { ref: ref, empty: empty, beenHasVideo: actData.beenHasVideo, beenHasAudio: actData.beenHasAudio, url: actData.url, type: actData === null || actData === void 0 ? void 0 : actData.player, hkType: actData === null || actData === void 0 ? void 0 : actData.hkType, userName: actData === null || actData === void 0 ? void 0 : actData.userName, password: actData === null || actData === void 0 ? void 0 : actData.password, deviceIp: actData.deviceIp, devicePort: actData.devicePort, captureName: name, deviceId: actData.deviceId, channelId: channel.channelId, channelNum: actData.channelNum, enableAgent: actData.enableAgent, deviceCode: actData.deviceCode, streamType: actData.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: actData.channelNum,\n deviceId: actData.deviceId,\n tenantId: getVtxToken('tenantId'),\n },\n type: hasCloudControl\n ? handlePtzType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4)\n : 'none',\n }, reload: () => {\n setActData({ url: '' });\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n }, onClose: onClose }) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_jsxRuntime","require","_react","_api","_splitScreen","_interopRequireDefault","_videoScale","_controls","_icons","_livePlayer","_web34Iframe","_icons2","_utils","_ahooks","_space","_moment","e","__esModule","_toConsumableArray","r","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","a","t","toString","call","slice","constructor","name","test","length","n","l","i","u","f","o","next","Object","done","push","value","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","fill","channelNum","channelId","EMPTY_PLAYER_HANDLE","resize","undefined","saveRecordFetch","LiveControlV2","forwardRef","props","ref","_props$height","height","_props$width","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","_props$gridChange","gridChange","onScreenshot","scale","defaultGrid","_props$hasCloudContro","hasCloudControl","_useSetState","useSetState","expand","grid","activeIndex","channels","_useSetState2","state","setState","dragRef","useRef","playRefs","wrapRef","latestGrid","_useFullscreen","useFullscreen","_useFullscreen2","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","arguments","adapt","getGrid","Number","channelLength","filter","v","map","item","_a","_b","_loop","_i","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","values","forEach","player","handleExpand","resizeAll","updateScale","timer","setTimeout","clearTimeout","closeVideo","currChannels","getGridItems","items","_loop2","element","_jsx","GridItem","active","onClick","onClose","moment","format","_index","el","parentNode","previousElementSibling","findParent","className","indexOf","_jsxs","assign","style","children","concat","onDragStart","target","onDragOver","indexDraging","indexTarget","insertBefore","nextSibling","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","getPtzControlType","type","types","empty","_useState","useState","_useState2","actData","setActData","requestSeqRef","loading","requestSeq","getPreviewUrl","then","res","deviceId","protocol","deviceName","channelName","_useSetState3","_useSetState4","_useSetState4$","gridItemRef","gridItemSize","useSize","livePlayerRef","web34Playback","isWeb34IframePlayer","reloadPreview","url","cloudControlType","ptzType","cloudParams","query","tenantId","getVtxToken","iframeUrl","getWeb34IframeUrl","iframeKey","livePlayerProps","beenHasVideo","beenHasAudio","hkType","userName","password","deviceIp","devicePort","captureName","enableAgent","deviceCode","streamType","showInfo","info","screenshot","reload","draggable","_Fragment","PlayerHeader","title","src","WEB34_IFRAME_RESET_STYLE","allow","VtxLivePlayer","currentIndex","currentChannels","grids","len","_default","exports"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { WEB34_IFRAME_RESET_STYLE, getWeb34IframeUrl, isWeb34IframePlayer, } from '../utils/web34-iframe';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { getVtxToken } from '@vtx/utils';\nimport { useFullscreen, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '', channelId: '' });\nconst EMPTY_PLAYER_HANDLE = {\n resize: () => undefined,\n saveRecordFetch: () => undefined,\n};\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onVideoCloseAll, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot, scale, defaultGrid, hasCloudControl = false, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: defaultGrid || DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const dragRef = useRef(null);\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(defaultGrid || DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '', channelId: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n const channelLength = channelRef.current.filter((v) => v.channelNum || v.channelId).length +\n channels.length;\n adapt && (grid = getGrid(channelLength));\n newChannels = [...new Array(grid)].map((item, index) => {\n var _a, _b;\n if (((_a = channelRef.current[index]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n ((_b = channelRef.current[index]) === null || _b === void 0 ? void 0 : _b.channelId)) {\n return channelRef.current[index];\n }\n return { channelNum: '', channelId: '' };\n });\n for (let i = 0; i < channels.length; i++) {\n const isRepeat = newChannels.find((item) => {\n var _a, _b;\n return (item === null || item === void 0 ? void 0 : item.channelNum) === ((_a = channels[i]) === null || _a === void 0 ? void 0 : _a.channelNum) ||\n (item === null || item === void 0 ? void 0 : item.channelId) === ((_b = channels[i]) === null || _b === void 0 ? void 0 : _b.channelId);\n });\n // 如果之前在播放,则不需重复打开新窗口\n if (!isRepeat) {\n const index = getActiveIndex(newChannels, grid, activeIndex);\n // 如果相等,说明没有空闲窗口\n // if (index === activeIndex) {\n // break;\n // }\n if (activeIndex === grid)\n break;\n newChannels[index] = channels[i] || { channelNum: '', channelId: '' };\n activeIndex = index + 1;\n }\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll,\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum || !!c.channelId));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.saveRecordFetch();\n });\n setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n channelRef.current = DEFAULT_CHANNELS;\n updateChannels(DEFAULT_CHANNELS);\n onVideoCloseAll && onVideoCloseAll();\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n // 重置视频大小\n resizeAll();\n };\n const updateScale = (scale) => {\n setState({ scale });\n // 重置视频大小\n resizeAll();\n };\n // 重置所有视频大小\n const resizeAll = () => {\n const timer = setTimeout(() => {\n Object.values(playRefs.current).forEach((player) => {\n player && player.resize();\n });\n clearTimeout(timer);\n }, 100);\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const currChannels = [...channelRef.current];\n const newChannels = [...channelRef.current];\n newChannels[i] = { channelNum: '', channelId: '' };\n updateChannels(newChannels);\n onVideoClose && onVideoClose(currChannels[i], newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { ref: (ref) => {\n playRefs.current[i] = ref;\n }, active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '', channelId: '' }, hasCloudControl: hasCloudControl, onClose: () => {\n var _a;\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n (_a = playRefs.current[i]) === null || _a === void 0 ? void 0 : _a.saveRecordFetch(moment().format('YYYY-MM-DD HH:mm:ss'));\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n function _index(el) {\n let index = 0;\n if (!el || !el.parentNode) {\n return -1;\n }\n // previousElementSibling:上一个兄弟元素\n while (el && (el = el.previousElementSibling)) {\n index++;\n }\n return index;\n }\n function findParent(el, className) {\n if (el.className &&\n typeof el.className == 'string' &&\n el.className.indexOf(className) > -1) {\n return el;\n }\n return findParent(el.parentNode, className);\n }\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}`, onDragStart: (e) => {\n dragRef.current = e.target;\n }, onDragOver: (e) => {\n if (!e.target) {\n return;\n }\n let target = e.target;\n if (target == null) {\n return;\n }\n target = findParent(target, 'grid-item-container');\n const indexDraging = _index(dragRef.current), indexTarget = _index(target);\n try {\n if (indexDraging < indexTarget) {\n // 目标比元素大,插到其后面\n // extSibling下一个兄弟元素\n target.parentNode.insertBefore(dragRef.current, target.nextSibling);\n }\n else if (indexDraging > indexTarget) {\n // 目标比元素小,插到其前面\n target.parentNode.insertBefore(dragRef.current, target);\n }\n resizeAll();\n }\n catch (e) {\n //\n }\n } }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: \"split-line\" }), gridChange ? (_jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))) : (_jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] }))), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => updateScale(scale) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst getPtzControlType = (type) => {\n const types = {\n 1: 'all',\n 2: 'onlyFocus',\n 3: 'onlyRotate',\n 4: 'none',\n };\n return types[type] || 'none';\n};\nconst GridItem = forwardRef((props, ref) => {\n const { active, onClick, channel, onClose, onScreenshot, scale, hasCloudControl } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const [actData, setActData] = useState({});\n const requestSeqRef = useRef(0);\n const loading = false;\n useEffect(() => {\n const requestSeq = ++requestSeqRef.current;\n if ((channel === null || channel === void 0 ? void 0 : channel.channelNum) || channel.channelId) {\n setActData({});\n getPreviewUrl(channel).then((res) => {\n if (requestSeq !== requestSeqRef.current)\n return;\n setActData(res);\n });\n }\n else {\n setActData({});\n }\n }, [channel === null || channel === void 0 ? void 0 : channel.channelNum, channel === null || channel === void 0 ? void 0 : channel.channelId, channel === null || channel === void 0 ? void 0 : channel.deviceId, channel === null || channel === void 0 ? void 0 : channel.protocol]);\n const name = `${actData === null || actData === void 0 ? void 0 : actData.deviceName}-${actData === null || actData === void 0 ? void 0 : actData.channelName}`;\n const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n const livePlayerRef = useRef(EMPTY_PLAYER_HANDLE);\n const web34Playback = isWeb34IframePlayer(actData === null || actData === void 0 ? void 0 : actData.player);\n useImperativeHandle(ref, () => {\n return web34Playback ? EMPTY_PLAYER_HANDLE : livePlayerRef.current || EMPTY_PLAYER_HANDLE;\n });\n const reloadPreview = () => {\n setActData({ url: '' });\n getPreviewUrl(channel).then((res) => {\n setActData(res);\n });\n };\n const cloudControlType = hasCloudControl\n ? getPtzControlType((actData === null || actData === void 0 ? void 0 : actData.ptzType) || 4)\n : 'none';\n const cloudParams = {\n query: {\n channelNum: actData.channelNum || '',\n deviceId: actData.deviceId || '',\n tenantId: getVtxToken('tenantId'),\n },\n type: cloudControlType,\n };\n const iframeUrl = getWeb34IframeUrl(actData);\n const iframeKey = `${(actData === null || actData === void 0 ? void 0 : actData.deviceId) || ''}_${(actData === null || actData === void 0 ? void 0 : actData.channelNum) || ''}_${(actData === null || actData === void 0 ? void 0 : actData.url) || ''}_${(actData === null || actData === void 0 ? void 0 : actData.player) || ''}`;\n const livePlayerProps = actData.url\n ? {\n empty,\n beenHasVideo: actData.beenHasVideo,\n beenHasAudio: actData.beenHasAudio,\n url: actData.url,\n type: actData === null || actData === void 0 ? void 0 : actData.player,\n hkType: actData === null || actData === void 0 ? void 0 : actData.hkType,\n userName: actData === null || actData === void 0 ? void 0 : actData.userName,\n password: actData === null || actData === void 0 ? void 0 : actData.password,\n deviceIp: actData.deviceIp,\n devicePort: actData.devicePort,\n captureName: name,\n deviceId: actData.deviceId,\n channelNum: actData.channelNum,\n enableAgent: actData.enableAgent,\n deviceCode: actData.deviceCode,\n streamType: actData.streamType,\n showInfo: channel.showInfo,\n info: channel.info,\n screenshot: onScreenshot,\n cloudParams,\n reload: reloadPreview,\n onClose,\n }\n : null;\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef, draggable: true }, { children: (actData === null || actData === void 0 ? void 0 : actData.url) && (_jsxs(_Fragment, { children: [!empty && _jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: web34Playback ? (_jsx(\"iframe\", { title: name, src: iframeUrl, style: WEB34_IFRAME_RESET_STYLE, allow: \"autoplay; fullscreen\" }, iframeKey)) : (livePlayerProps && (_jsx(VtxLivePlayer, Object.assign({ ref: livePlayerRef }, livePlayerProps)))) })) }))] })) })));\n});\nGridItem.displayName = 'grid-item';\n/**\n * 获取当前激活的网格\n * @param channels 现有通道数组\n * @param grid 当前网格状态\n * @param currentIndex 当前索引\n * @returns\n */\nconst getActiveIndex = (channels, grid, currentIndex) => {\n const currentChannels = channels.slice(0, Number(grid));\n for (let i = currentIndex; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum && !currentChannels[i].channelId)\n return i;\n }\n return currentIndex;\n};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -23,7 +23,6 @@ interface ConstructorParams {
23
23
  streamType?: '0' | '1';
24
24
  /** 通道号 */
25
25
  channelNum?: string;
26
- channelId?: string;
27
26
  /** 设备Code */
28
27
  deviceCode?: string;
29
28
  /** 是否有音频 */
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -23,7 +23,6 @@ interface ConstructorParams {
23
23
  streamType?: '0' | '1';
24
24
  /** 通道号 */
25
25
  channelNum?: string;
26
- channelId?: string;
27
26
  /** 设备Code */
28
27
  deviceCode?: string;
29
28
  /**是否开启代理 */
@@ -29,7 +29,6 @@ interface ConstructorParams {
29
29
  streamType?: '0' | '1';
30
30
  /** 通道号 */
31
31
  channelNum?: string;
32
- channelId?: string;
33
32
  /** 设备Code */
34
33
  deviceCode?: string;
35
34
  /**是否开启代理 */
@@ -105,6 +105,7 @@ var Player = /*#__PURE__*/function () {
105
105
  return _createClass(Player, [{
106
106
  key: "play",
107
107
  value: function play() {
108
+ console.log(this.hkType);
108
109
  var player = this.player;
109
110
  var result = player.JS_Play(this.url, {
110
111
  playURL: this.url,
@@ -1 +1 @@
1
- {"version":3,"file":"HkwsPlayer.js","names":["_config","_interopRequireDefault","require","_utils","_moment","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_regenerator","t","r","n","toStringTag","i","c","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","_invoke","enumerable","configurable","writable","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","then","apply","Player","params","player","preSpeed","containerId","downloadSaving","windowIndex","url","originalUrl","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","live","hkType","type","startTime","endTime","streamType","reload","onClose","id","playerParams","getPlayerParams","video","document","createElement","className","muted","window","JSPlugin","szId","szBasePath","concat","CONFIG","visPlugin","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","preload","play","JS_Play","playURL","mode","JS_SetWindowControlCallback","pluginErrorHandler","index","iErrorCode","console","log","playBack","getHKTimeString","seekTime","moment","destroy","_this","_a","stopTimeUpdateTimer","clearDownloadTimer","JS_StopSave","JS_Stop","dd","childNodes","removeChild","capture","captureName","arguments","undefined","callback","time","name","format","JS_CapturePicture","res","Capture","resize","setTimeout","JS_Resize","isHkWs","getVideoCurrentTime","currentTime","diff","getCurrentSpeed","playbackRate","parseOSDTime","osdTime","unix","isValid","nestedTime","OSDTime","currOSDTime","data","timestamp","timeStamp","year","month","day","hour","minute","second","millisecond","milliseconds","some","item","isNaN","date","timeUpdateTimer","clearInterval","downloadTimer","clearTimeout","startHKTimeUpdate","_this2","emitImmediately","timeUpdateCallback","emit","_callee","_t","_context","JS_GetOSDTime","setInterval","setVolume","JS_CloseSound","JS_OpenSound","info","err","JS_SetVolume","setSpeed","speed","JS_Speed","rate","onTimeUpdate","_this3","StreamEnd","addEventListener","seekTo","_b","_callee2","_context2","add","JS_Seek","pause","JS_Pause","resume","tp","JS_Resume","startTalk","JS_StartTalk","error","stopTalk","JS_StopTalk","_default","exports"],"sources":["player/HkwsPlayer.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 CONFIG from '../config';\nimport { Capture, getHKTimeString, getPlayerParams } from '../utils';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n this.downloadSaving = false;\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, originalUrl, channelNum, deviceCode, enableAgent = false, container, live = true, hkType, type, startTime, endTime, streamType, reload, onClose, } = params;\n this.reload = reload;\n this.onClose = onClose;\n this.containerId = container.id;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.originalUrl = originalUrl;\n this.hkType = hkType;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: `${CONFIG.visPlugin}/`,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n this.video.preload = 'auto';\n }\n /** 播放 */\n play() {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: this.hkType === 'NLZZ' ? 0 : 1 }, // 南乐中州\n 0);\n this.windowIndex = 0;\n const reload = this.reload;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {\n console.log('流中断,电脑配置过低,程序卡主线程都可能导致流中断,执行reload');\n reload && reload();\n }\n },\n });\n return result;\n }\n /** 回放 */\n playBack() {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n this.seekTime = moment(this.startTime);\n this.windowIndex = 0;\n const reload = this.reload;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {\n reload && reload();\n }\n },\n });\n return result;\n }\n /** 销毁 */\n destroy() {\n var _a;\n if (!this.player)\n return;\n this.stopTimeUpdateTimer();\n this.clearDownloadTimer();\n const player = this.player;\n if (this.downloadSaving) {\n (_a = player.JS_StopSave) === null || _a === void 0 ? void 0 : _a.call(player, this.windowIndex);\n this.downloadSaving = false;\n }\n player &&\n player.JS_Stop(0).then(() => {\n this.player = null;\n });\n const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n isHkWs() {\n return this.type === 'hk_ws' || this.type === 'hkcar_ws';\n }\n getVideoCurrentTime() {\n let currentTime = this.video.currentTime;\n if (this.isHkWs() && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n return currentTime;\n }\n getCurrentSpeed() {\n return this.isHkWs() ? this.preSpeed : this.video.playbackRate;\n }\n parseOSDTime(osdTime) {\n if (!osdTime)\n return null;\n if (typeof osdTime === 'number') {\n const time = osdTime > 10000000000 ? moment(osdTime) : moment.unix(osdTime);\n return time.isValid() ? time : null;\n }\n if (typeof osdTime === 'string') {\n const time = moment(osdTime);\n return time.isValid() ? time : null;\n }\n const nestedTime = osdTime.osdTime || osdTime.OSDTime || osdTime.currOSDTime || osdTime.data;\n if (nestedTime)\n return this.parseOSDTime(nestedTime);\n const timestamp = osdTime.timestamp || osdTime.timeStamp;\n if (timestamp)\n return this.parseOSDTime(timestamp);\n const year = Number(osdTime.year);\n const month = Number(osdTime.month);\n const day = Number(osdTime.day);\n const hour = Number(osdTime.hour);\n const minute = Number(osdTime.minute);\n const second = Number(osdTime.second);\n const millisecond = Number(osdTime.milliseconds || 0);\n if ([year, month, day, hour, minute, second].some((item) => Number.isNaN(item))) {\n return null;\n }\n const time = moment({\n year,\n month: month - 1,\n date: day,\n hour,\n minute,\n second,\n millisecond,\n });\n return time.isValid() ? time : null;\n }\n stopTimeUpdateTimer() {\n if (this.timeUpdateTimer) {\n window.clearInterval(this.timeUpdateTimer);\n this.timeUpdateTimer = undefined;\n }\n }\n clearDownloadTimer() {\n if (this.downloadTimer) {\n window.clearTimeout(this.downloadTimer);\n this.downloadTimer = undefined;\n }\n }\n startHKTimeUpdate(callback, emitImmediately = true) {\n const player = this.player;\n this.stopTimeUpdateTimer();\n this.timeUpdateCallback = callback;\n const emit = () => __awaiter(this, void 0, void 0, function* () {\n var _a;\n try {\n const osdTime = yield player.JS_GetOSDTime(this.windowIndex);\n const currentTime = (_a = this.parseOSDTime(osdTime)) === null || _a === void 0 ? void 0 : _a.diff(this.startTime, 'seconds');\n callback(typeof currentTime === 'number' && currentTime >= 0\n ? currentTime\n : this.getVideoCurrentTime(), this.getCurrentSpeed());\n }\n catch (error) {\n callback(this.getVideoCurrentTime(), this.getCurrentSpeed());\n }\n });\n if (emitImmediately) {\n emit();\n }\n this.timeUpdateTimer = window.setInterval(emit, 500);\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n const player = this.player;\n if (value < 1) {\n player.JS_CloseSound(this.windowIndex);\n }\n else {\n player.JS_OpenSound(this.windowIndex).then(() => {\n console.info('JS_OpenSound success');\n }, (err) => {\n console.log(err);\n });\n player.JS_SetVolume(this.windowIndex, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n const player = this.player;\n player.JS_Speed(this.windowIndex, speed === 0.5 ? -2 : speed).then((rate) => {\n console.info('JS_Speed success:', rate);\n // do you want...\n }, (err) => {\n console.info('JS_Speed failed');\n // do you want...\n });\n this.preSpeed = speed;\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n if (this.isHkWs()) {\n this.startHKTimeUpdate(callback);\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n },\n });\n }\n else {\n this.video.addEventListener('timeupdate', () => {\n callback(this.getVideoCurrentTime(), this.getCurrentSpeed());\n });\n }\n }\n /** 跳转到 */\n seekTo(time) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n this.seekTime = seekTime;\n if (this.isHkWs()) {\n this.stopTimeUpdateTimer();\n (_b = this.timeUpdateCallback) === null || _b === void 0 ? void 0 : _b.call(this, time, this.getCurrentSpeed());\n }\n try {\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n finally {\n if (this.isHkWs() && this.timeUpdateCallback) {\n this.startHKTimeUpdate(this.timeUpdateCallback, false);\n }\n }\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n const player = this.player;\n player.JS_Pause(0).then(() => callback && callback());\n callback && callback();\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n const tp = this.type;\n let player = null;\n switch (tp) {\n case 'hkcar_ws':\n case 'hk_ws':\n player = this.player;\n player.JS_Resume(0).then(() => callback && callback());\n break;\n default:\n this.video.play();\n callback && callback();\n break;\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n const player = this.player;\n return player.JS_StartTalk(url).then(() => {\n console.log('talkStart success');\n Promise.resolve();\n }, (e) => {\n console.error(e);\n });\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n const player = this.player;\n return player.JS_StopTalk().then(() => {\n console.info('JS_StopTalk success');\n // do you want...\n }, (err) => {\n console.info('JS_StopTalk failed');\n // do you want...\n });\n }\n}\nexport default Player;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HkwsPlayer.js","names":["_config","_interopRequireDefault","require","_utils","_moment","e","__esModule","_typeof","o","Symbol","iterator","constructor","prototype","_regenerator","t","r","n","toStringTag","i","c","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","_invoke","enumerable","configurable","writable","_classCallCheck","_defineProperties","_toPropertyKey","key","_createClass","_toPrimitive","toPrimitive","String","Number","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","Promise","reject","fulfilled","step","next","rejected","result","then","apply","Player","params","player","preSpeed","containerId","downloadSaving","windowIndex","url","originalUrl","channelNum","deviceCode","_params$enableAgent","enableAgent","container","_params$live","live","hkType","type","startTime","endTime","streamType","reload","onClose","id","playerParams","getPlayerParams","video","document","createElement","className","muted","window","JSPlugin","szId","szBasePath","concat","CONFIG","visPlugin","iMaxSplit","iCurrentSplit","wrapDiv","getElementById","getElementsByTagName","preload","play","console","log","JS_Play","playURL","mode","JS_SetWindowControlCallback","pluginErrorHandler","index","iErrorCode","playBack","getHKTimeString","seekTime","moment","destroy","_this","_a","stopTimeUpdateTimer","clearDownloadTimer","JS_StopSave","JS_Stop","dd","childNodes","removeChild","capture","captureName","arguments","undefined","callback","time","name","format","JS_CapturePicture","res","Capture","resize","setTimeout","JS_Resize","isHkWs","getVideoCurrentTime","currentTime","diff","getCurrentSpeed","playbackRate","parseOSDTime","osdTime","unix","isValid","nestedTime","OSDTime","currOSDTime","data","timestamp","timeStamp","year","month","day","hour","minute","second","millisecond","milliseconds","some","item","isNaN","date","timeUpdateTimer","clearInterval","downloadTimer","clearTimeout","startHKTimeUpdate","_this2","emitImmediately","timeUpdateCallback","emit","_callee","_t","_context","JS_GetOSDTime","setInterval","setVolume","JS_CloseSound","JS_OpenSound","info","err","JS_SetVolume","setSpeed","speed","JS_Speed","rate","onTimeUpdate","_this3","StreamEnd","addEventListener","seekTo","_b","_callee2","_context2","add","JS_Seek","pause","JS_Pause","resume","tp","JS_Resume","startTalk","JS_StartTalk","error","stopTalk","JS_StopTalk","_default","exports"],"sources":["player/HkwsPlayer.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 CONFIG from '../config';\nimport { Capture, getHKTimeString, getPlayerParams } from '../utils';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n this.downloadSaving = false;\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, originalUrl, channelNum, deviceCode, enableAgent = false, container, live = true, hkType, type, startTime, endTime, streamType, reload, onClose, } = params;\n this.reload = reload;\n this.onClose = onClose;\n this.containerId = container.id;\n const playerParams = getPlayerParams(type, url, enableAgent, live);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值,1.1.2之后默认都传type\n this.url = playerParams.url;\n this.originalUrl = originalUrl;\n this.hkType = hkType;\n this.channelNum = channelNum;\n this.deviceCode = deviceCode || '';\n this.streamType = streamType || '0'; // 默认主码流\n this.enableAgent = enableAgent;\n this.startTime = startTime;\n this.endTime = endTime;\n const video = document.createElement('video'); // 生成video元素\n video.className = 'vtx-player-video';\n video.muted = true; //设置静音\n this.video = video;\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: `${CONFIG.visPlugin}/`,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n });\n const wrapDiv = document.getElementById(container.id);\n this.video = wrapDiv.getElementsByTagName('video')[0];\n this.video.preload = 'auto';\n }\n /** 播放 */\n play() {\n console.log(this.hkType);\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: this.hkType === 'NLZZ' ? 0 : 1 }, // 南乐中州\n 0);\n this.windowIndex = 0;\n const reload = this.reload;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {\n console.log('流中断,电脑配置过低,程序卡主线程都可能导致流中断,执行reload');\n reload && reload();\n }\n },\n });\n return result;\n }\n /** 回放 */\n playBack() {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n this.seekTime = moment(this.startTime);\n this.windowIndex = 0;\n const reload = this.reload;\n player.JS_SetWindowControlCallback({\n pluginErrorHandler: function (index, iErrorCode) {\n //插件错误回调\n // 流中断\n if (iErrorCode === '0x12f910011' || iErrorCode === '0x12f910027') {\n reload && reload();\n }\n },\n });\n return result;\n }\n /** 销毁 */\n destroy() {\n var _a;\n if (!this.player)\n return;\n this.stopTimeUpdateTimer();\n this.clearDownloadTimer();\n const player = this.player;\n if (this.downloadSaving) {\n (_a = player.JS_StopSave) === null || _a === void 0 ? void 0 : _a.call(player, this.windowIndex);\n this.downloadSaving = false;\n }\n player &&\n player.JS_Stop(0).then(() => {\n this.player = null;\n });\n const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n isHkWs() {\n return this.type === 'hk_ws' || this.type === 'hkcar_ws';\n }\n getVideoCurrentTime() {\n let currentTime = this.video.currentTime;\n if (this.isHkWs() && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n return currentTime;\n }\n getCurrentSpeed() {\n return this.isHkWs() ? this.preSpeed : this.video.playbackRate;\n }\n parseOSDTime(osdTime) {\n if (!osdTime)\n return null;\n if (typeof osdTime === 'number') {\n const time = osdTime > 10000000000 ? moment(osdTime) : moment.unix(osdTime);\n return time.isValid() ? time : null;\n }\n if (typeof osdTime === 'string') {\n const time = moment(osdTime);\n return time.isValid() ? time : null;\n }\n const nestedTime = osdTime.osdTime || osdTime.OSDTime || osdTime.currOSDTime || osdTime.data;\n if (nestedTime)\n return this.parseOSDTime(nestedTime);\n const timestamp = osdTime.timestamp || osdTime.timeStamp;\n if (timestamp)\n return this.parseOSDTime(timestamp);\n const year = Number(osdTime.year);\n const month = Number(osdTime.month);\n const day = Number(osdTime.day);\n const hour = Number(osdTime.hour);\n const minute = Number(osdTime.minute);\n const second = Number(osdTime.second);\n const millisecond = Number(osdTime.milliseconds || 0);\n if ([year, month, day, hour, minute, second].some((item) => Number.isNaN(item))) {\n return null;\n }\n const time = moment({\n year,\n month: month - 1,\n date: day,\n hour,\n minute,\n second,\n millisecond,\n });\n return time.isValid() ? time : null;\n }\n stopTimeUpdateTimer() {\n if (this.timeUpdateTimer) {\n window.clearInterval(this.timeUpdateTimer);\n this.timeUpdateTimer = undefined;\n }\n }\n clearDownloadTimer() {\n if (this.downloadTimer) {\n window.clearTimeout(this.downloadTimer);\n this.downloadTimer = undefined;\n }\n }\n startHKTimeUpdate(callback, emitImmediately = true) {\n const player = this.player;\n this.stopTimeUpdateTimer();\n this.timeUpdateCallback = callback;\n const emit = () => __awaiter(this, void 0, void 0, function* () {\n var _a;\n try {\n const osdTime = yield player.JS_GetOSDTime(this.windowIndex);\n const currentTime = (_a = this.parseOSDTime(osdTime)) === null || _a === void 0 ? void 0 : _a.diff(this.startTime, 'seconds');\n callback(typeof currentTime === 'number' && currentTime >= 0\n ? currentTime\n : this.getVideoCurrentTime(), this.getCurrentSpeed());\n }\n catch (error) {\n callback(this.getVideoCurrentTime(), this.getCurrentSpeed());\n }\n });\n if (emitImmediately) {\n emit();\n }\n this.timeUpdateTimer = window.setInterval(emit, 500);\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n const player = this.player;\n if (value < 1) {\n player.JS_CloseSound(this.windowIndex);\n }\n else {\n player.JS_OpenSound(this.windowIndex).then(() => {\n console.info('JS_OpenSound success');\n }, (err) => {\n console.log(err);\n });\n player.JS_SetVolume(this.windowIndex, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n const player = this.player;\n player.JS_Speed(this.windowIndex, speed === 0.5 ? -2 : speed).then((rate) => {\n console.info('JS_Speed success:', rate);\n // do you want...\n }, (err) => {\n console.info('JS_Speed failed');\n // do you want...\n });\n this.preSpeed = speed;\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n if (this.isHkWs()) {\n this.startHKTimeUpdate(callback);\n // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n },\n });\n }\n else {\n this.video.addEventListener('timeupdate', () => {\n callback(this.getVideoCurrentTime(), this.getCurrentSpeed());\n });\n }\n }\n /** 跳转到 */\n seekTo(time) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n this.seekTime = seekTime;\n if (this.isHkWs()) {\n this.stopTimeUpdateTimer();\n (_b = this.timeUpdateCallback) === null || _b === void 0 ? void 0 : _b.call(this, time, this.getCurrentSpeed());\n }\n try {\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n finally {\n if (this.isHkWs() && this.timeUpdateCallback) {\n this.startHKTimeUpdate(this.timeUpdateCallback, false);\n }\n }\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n const player = this.player;\n player.JS_Pause(0).then(() => callback && callback());\n callback && callback();\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n const tp = this.type;\n let player = null;\n switch (tp) {\n case 'hkcar_ws':\n case 'hk_ws':\n player = this.player;\n player.JS_Resume(0).then(() => callback && callback());\n break;\n default:\n this.video.play();\n callback && callback();\n break;\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n const player = this.player;\n return player.JS_StartTalk(url).then(() => {\n console.log('talkStart success');\n Promise.resolve();\n }, (e) => {\n console.error(e);\n });\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n const player = this.player;\n return player.JS_StopTalk().then(() => {\n console.info('JS_StopTalk success');\n // do you want...\n }, (err) => {\n console.info('JS_StopTalk failed');\n // do you want...\n });\n }\n}\nexport default Player;\n"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -18,7 +18,6 @@ interface ConstructorParams {
18
18
  streamType?: '0' | '1';
19
19
  /** 通道号 */
20
20
  channelNum?: string;
21
- channelId?: string;
22
21
  /** 设备Code */
23
22
  deviceCode?: string;
24
23
  /**是否开启代理 */
@@ -23,7 +23,6 @@ interface ConstructorParams {
23
23
  streamType?: '0' | '1';
24
24
  /** 通道号 */
25
25
  channelNum?: string;
26
- channelId?: string;
27
26
  /** 设备Code */
28
27
  deviceCode?: string;
29
28
  /**是否开启代理 */
@@ -30,8 +30,6 @@ interface ConstructorParams {
30
30
  streamType?: '0' | '1';
31
31
  /** 通道号 */
32
32
  channelNum?: string;
33
- /** 设备通道ID */
34
- channelId?: string;
35
33
  /** 设备Code */
36
34
  deviceCode?: string;
37
35
  /** 是否开启代理 */
@@ -66,8 +64,6 @@ declare class Player {
66
64
  originalUrl: string;
67
65
  /** 通道号 */
68
66
  channelNum: string;
69
- /** 设备通道ID */
70
- channelId: string;
71
67
  /** 设备Code */
72
68
  deviceCode: string;
73
69
  /** 主/子码流 */
@@ -94,9 +94,9 @@ var web34LoginQueue = Promise.resolve();
94
94
  var web34StartQueue = Promise.resolve();
95
95
  var web34CustomWindowUnavailable = false;
96
96
  var getWeb34BasePath = function getWeb34BasePath() {
97
- var _a;
98
- var visPlugin = ((_a = window.VtxPublicServiceAddress) === null || _a === void 0 ? void 0 : _a.visPlugin) || _config["default"].visPlugin || './resources';
99
- return "".concat(visPlugin.replace(/\/$/, ''), "/web3.4");
97
+ var visPlugin = _config["default"].visPlugin;
98
+ var basePath = "".concat(visPlugin.replace(/\/$/, ''), "/web3.4");
99
+ return new URL(basePath, window.location.href).href.replace(/\/$/, '');
100
100
  };
101
101
  var getWeb34LastError = function getWeb34LastError() {
102
102
  var _a, _b;
@@ -614,8 +614,6 @@ var Player = /*#__PURE__*/function () {
614
614
  originalUrl = params.originalUrl,
615
615
  _params$channelNum = params.channelNum,
616
616
  channelNum = _params$channelNum === void 0 ? '' : _params$channelNum,
617
- _params$channelId = params.channelId,
618
- channelId = _params$channelId === void 0 ? '' : _params$channelId,
619
617
  deviceCode = params.deviceCode,
620
618
  deviceIp = params.deviceIp,
621
619
  devicePort = params.devicePort,
@@ -638,7 +636,6 @@ var Player = /*#__PURE__*/function () {
638
636
  this.url = url;
639
637
  this.originalUrl = originalUrl || url;
640
638
  this.channelNum = channelNum;
641
- this.channelId = channelId;
642
639
  this.deviceCode = deviceCode || '';
643
640
  this.streamType = streamType || '0';
644
641
  this.enableAgent = enableAgent;