@vtx/player 1.7.1 → 1.7.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.
@@ -242,8 +242,8 @@ var LiveControlV2 = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
242
242
  setState({
243
243
  activeIndex: DEFAULT_ACTIVE
244
244
  });
245
- updateChannels(DEFAULT_CHANNELS);
246
245
  channelRef.current = DEFAULT_CHANNELS;
246
+ updateChannels(DEFAULT_CHANNELS);
247
247
  onVideoCloseAll && onVideoCloseAll();
248
248
  };
249
249
 
@@ -531,8 +531,8 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
531
531
  onClick: onClick,
532
532
  ref: gridItemRef
533
533
  }, {
534
- children: data && !empty && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
535
- children: [(0, _jsxRuntime.jsx)(_controls.PlayerHeader, {
534
+ children: data && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
535
+ children: [!empty && (0, _jsxRuntime.jsx)(_controls.PlayerHeader, {
536
536
  name: name,
537
537
  onClose: onClose
538
538
  }), (0, _jsxRuntime.jsx)("div", Object.assign({
@@ -546,6 +546,7 @@ var GridItem = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
546
546
  }, {
547
547
  children: (0, _jsxRuntime.jsx)(_livePlayer["default"], {
548
548
  ref: ref,
549
+ empty: empty,
549
550
  url: data.url,
550
551
  type: data === null || data === void 0 ? void 0 : data.player,
551
552
  deviceIp: data.deviceIp,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","scale","useSetState","expand","grid","activeIndex","channels","state","setState","playRefs","useRef","wrapRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","channelLength","filter","v","map","item","_a","_b","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","slice","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","_Fragment","PlayerHeader","VtxLivePlayer","url","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","len"],"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 } 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 { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\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, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(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 setState({\n activeIndex: DEFAULT_ACTIVE,\n });\n updateChannels(DEFAULT_CHANNELS);\n channelRef.current = 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: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\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}` }, { 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 } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const { data, loading } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum || !!channel.channelId,\n refreshDeps: [channel.channelNum, channel.channelId],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.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 }, { children: data && !empty && (_jsxs(_Fragment, { children: [_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, url: data.url, type: data === null || data === void 0 ? void 0 : data.player, deviceIp: data.deviceIp, devicePort: data.devicePort, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, deviceCode: data.deviceCode, streamType: data.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: data.channelNum,\n deviceId: data.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((data === null || data === void 0 ? void 0 : data.ptzType) || 4),\n } }) })) }))] })) })));\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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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","channelId","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onVideoCloseAll","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","scale","useSetState","expand","grid","activeIndex","channels","state","setState","playRefs","useRef","wrapRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","channelLength","filter","v","map","item","_a","_b","isRepeat","find","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","handleExpand","slice","resizeAll","updateScale","timer","setTimeout","Object","values","forEach","player","resize","clearTimeout","closeVideo","currChannels","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","handlePtzType","type","types","_Fragment","PlayerHeader","VtxLivePlayer","url","deviceIp","devicePort","captureName","deviceId","deviceCode","streamType","showInfo","info","screenshot","cloudParams","query","tenantId","getUrlParam","ptzType","currentIndex","currentChannels","grids","len"],"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 } 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 { getUrlParam } from '../utils';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\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, } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: scale || '100%',\n });\n const playRefs = useRef({});\n const wrapRef = useRef(null);\n const latestGrid = useRef(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 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: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\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}` }, { 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 } = props;\n const empty = !channel.channelNum && !channel.channelId;\n const { data, loading } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum || !!channel.channelId,\n refreshDeps: [channel.channelNum, channel.channelId],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.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 }, { children: data && (_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, url: data.url, type: data === null || data === void 0 ? void 0 : data.player, deviceIp: data.deviceIp, devicePort: data.devicePort, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, deviceCode: data.deviceCode, streamType: data.streamType, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot, cloudParams: {\n query: {\n channelNum: data.channelNum,\n deviceId: data.deviceId,\n tenantId: getUrlParam('tenantId'),\n },\n type: handlePtzType((data === null || data === void 0 ? void 0 : data.ptzType) || 4),\n } }) })) }))] })) })));\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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"}
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { CloudControlPanelProps } from '../controls';
3
3
  import { VideoType } from '../player';
4
4
  interface VtxPlayerProps {
5
+ empty?: boolean;
5
6
  /** 视频流地址 */
6
7
  url: string;
7
8
  /** 服务器地址 */
@@ -74,7 +74,8 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
74
74
  };
75
75
 
76
76
  var LivePlayer = function LivePlayer(props, selfRef) {
77
- var url = props.url,
77
+ var empty = props.empty,
78
+ url = props.url,
78
79
  deviceIp = props.deviceIp,
79
80
  devicePort = props.devicePort,
80
81
  userName = props.userName,
@@ -132,8 +133,10 @@ var LivePlayer = function LivePlayer(props, selfRef) {
132
133
  var _a;
133
134
 
134
135
  var container = ref.current;
136
+ console.log(empty);
135
137
 
136
- if (!url || !container) {
138
+ if (!url || !container || empty) {
139
+ console.log(playerRef.current);
137
140
  (_a = playerRef.current) === null || _a === void 0 ? void 0 : _a.destroy();
138
141
  return;
139
142
  }
@@ -218,7 +221,7 @@ var LivePlayer = function LivePlayer(props, selfRef) {
218
221
  play: false
219
222
  });
220
223
  };
221
- }, [url]);
224
+ }, [url, empty]);
222
225
 
223
226
  var handleCapture = function handleCapture(e) {
224
227
  var player = playerRef.current;
@@ -233,7 +236,7 @@ var LivePlayer = function LivePlayer(props, selfRef) {
233
236
  e.stopPropagation();
234
237
  };
235
238
 
236
- return (0, _jsxRuntime.jsxs)("div", Object.assign({
239
+ return !empty ? (0, _jsxRuntime.jsxs)("div", Object.assign({
237
240
  className: "vtx-live-player",
238
241
  ref: wrapRef,
239
242
  style: {
@@ -283,7 +286,7 @@ var LivePlayer = function LivePlayer(props, selfRef) {
283
286
  })]
284
287
  }))
285
288
  }))]
286
- }));
289
+ })) : null;
287
290
  }; // LivePlayer.displayName = 'live-player';
288
291
 
289
292
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","LivePlayer","props","selfRef","url","deviceIp","devicePort","userName","password","enableAgent","width","height","captureName","type","channelNum","deviceId","streamType","deviceCode","cloudParams","showInfo","info","screenshot","loaded","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useImperativeHandle","player","current","resize","useEffect","_a","container","destroy","API","getToken","token","localStorage","setItem","Player","handleCapture","capture","stopPropagation","handleFullScreen","_jsxs","Object","assign","className","style","children","_jsx","ErrorState","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","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 Player from '../player';\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 { url, deviceIp, devicePort, userName, password, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, streamType, deviceCode, cloudParams, showInfo = false, info = [], screenshot, loaded, } = 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) {\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 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 });\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 return () => {\n player === null || player === void 0 ? void 0 : player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url]);\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 (_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, {}), 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 }), 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 }))] })) }))] })));\n};\n// LivePlayer.displayName = 'live-player';\nexport default forwardRef(LivePlayer);\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","LivePlayer","props","selfRef","empty","url","deviceIp","devicePort","userName","password","enableAgent","width","height","captureName","type","channelNum","deviceId","streamType","deviceCode","cloudParams","showInfo","info","screenshot","loaded","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useImperativeHandle","player","current","resize","useEffect","_a","container","console","log","destroy","API","getToken","token","localStorage","setItem","Player","handleCapture","capture","stopPropagation","handleFullScreen","_jsxs","Object","assign","className","style","children","_jsx","ErrorState","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","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 Player from '../player';\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, deviceIp, devicePort, userName, password, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, streamType, deviceCode, cloudParams, showInfo = false, info = [], screenshot, loaded, } = 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 console.log(empty);\n if (!url || !container || empty) {\n console.log(playerRef.current);\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 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 });\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 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, {}), 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 }), 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":";;;;;;;;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;+CAjBA,oJ;;;;;;;;;;;;;;AADA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA4B,UAAUC,OAAV,EAAmBC,UAAnB,EAA+BC,CAA/B,EAAkCC,SAAlC,EAA6C;EACrF,SAASC,KAAT,CAAeC,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYH,CAAjB,GAAqBG,KAArB,GAA6B,IAAIH,CAAJ,CAAM,UAAUI,OAAV,EAAmB;MAAEA,OAAO,CAACD,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAT,CAAN,EAAyB,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;IACvD,SAASC,SAAT,CAAmBJ,KAAnB,EAA0B;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAACQ,IAAV,CAAeN,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAASC,QAAT,CAAkBR,KAAlB,EAAyB;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAAC,OAAD,CAAT,CAAmBE,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAASF,IAAT,CAAcI,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAcT,OAAO,CAACQ,MAAM,CAACT,KAAR,CAArB,GAAsCD,KAAK,CAACU,MAAM,CAACT,KAAR,CAAL,CAAoBW,IAApB,CAAyBP,SAAzB,EAAoCI,QAApC,CAAtC;IAAsF;;IAC9GH,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACc,KAAV,CAAgBjB,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDU,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AAmBA,IAAMO,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAQC,OAAR,EAAoB;EACnC,IAAQC,KAAR,GAA+OF,KAA/O,CAAQE,KAAR;EAAA,IAAeC,GAAf,GAA+OH,KAA/O,CAAeG,GAAf;EAAA,IAAoBC,QAApB,GAA+OJ,KAA/O,CAAoBI,QAApB;EAAA,IAA8BC,UAA9B,GAA+OL,KAA/O,CAA8BK,UAA9B;EAAA,IAA0CC,QAA1C,GAA+ON,KAA/O,CAA0CM,QAA1C;EAAA,IAAoDC,QAApD,GAA+OP,KAA/O,CAAoDO,QAApD;EAAA,IAA8DC,WAA9D,GAA+OR,KAA/O,CAA8DQ,WAA9D;EAAA,mBAA+OR,KAA/O,CAA2ES,KAA3E;EAAA,IAA2EA,KAA3E,6BAAmF,MAAnF;EAAA,oBAA+OT,KAA/O,CAA2FU,MAA3F;EAAA,IAA2FA,MAA3F,8BAAoG,MAApG;EAAA,IAA4GC,WAA5G,GAA+OX,KAA/O,CAA4GW,WAA5G;EAAA,IAAyHC,IAAzH,GAA+OZ,KAA/O,CAAyHY,IAAzH;EAAA,IAA+HC,UAA/H,GAA+Ob,KAA/O,CAA+Ha,UAA/H;EAAA,IAA2IC,QAA3I,GAA+Od,KAA/O,CAA2Ic,QAA3I;EAAA,IAAqJC,UAArJ,GAA+Of,KAA/O,CAAqJe,UAArJ;EAAA,IAAiKC,UAAjK,GAA+OhB,KAA/O,CAAiKgB,UAAjK;EAAA,IAA6KC,WAA7K,GAA+OjB,KAA/O,CAA6KiB,WAA7K;EAAA,sBAA+OjB,KAA/O,CAA0LkB,QAA1L;EAAA,IAA0LA,QAA1L,gCAAqM,KAArM;EAAA,kBAA+OlB,KAA/O,CAA4MmB,IAA5M;EAAA,IAA4MA,IAA5M,4BAAmN,EAAnN;EAAA,IAAuNC,UAAvN,GAA+OpB,KAA/O,CAAuNoB,UAAvN;EAAA,IAAmOC,MAAnO,GAA+OrB,KAA/O,CAAmOqB,MAAnO;EACA,IAAMC,GAAG,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAZ;EACA,IAAMC,OAAO,GAAG,IAAAD,aAAA,EAAO,IAAP,CAAhB;EACA,IAAME,WAAW,GAAG,IAAAF,aAAA,EAAO,IAAP,CAApB;EACA,IAAMG,SAAS,GAAG,IAAAH,aAAA,GAAlB;;EACA,qBAA6C,IAAAI,qBAAA,EAAcH,OAAd,CAA7C;EAAA;EAAA,IAAOI,YAAP;EAAA,IAAuBC,gBAAvB,sBAAuBA,gBAAvB;;EACA,mBAA0B,IAAAC,mBAAA,EAAY;IAClCC,IAAI,EAAE,KAD4B;IAElCC,KAAK,EAAE,KAF2B;IAGlCC,OAAO,EAAE,KAHyB;IAIlCC,EAAE,EAAE,mBAAmB,IAAAC,oBAAA,GAJW;IAKlCC,MAAM,EAAE,CAL0B;IAMlCC,cAAc,EAAE;EANkB,CAAZ,CAA1B;EAAA;EAAA,IAAOC,KAAP;EAAA,IAAcC,QAAd;;EAQA,IAAAC,0BAAA,EAAoBvC,OAApB,EAA6B,YAAM;IAC/B,OAAO;MACHwC,MAAM,EAAEf,SAAS,CAACgB,OADf;MAEHC,MAAM,EAAE,kBAAM;QACV,IAAMF,MAAM,GAAGf,SAAS,CAACgB,OAAzB;QACAD,MAAM,IAAItC,GAAV,IAAiBsC,MAAM,CAACE,MAAP,EAAjB;MACH;IALE,CAAP;EAOH,CARD;EASA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAIC,EAAJ;;IACA,IAAMC,SAAS,GAAGxB,GAAG,CAACoB,OAAtB;IACAK,OAAO,CAACC,GAAR,CAAY9C,KAAZ;;IACA,IAAI,CAACC,GAAD,IAAQ,CAAC2C,SAAT,IAAsB5C,KAA1B,EAAiC;MAC7B6C,OAAO,CAACC,GAAR,CAAYtB,SAAS,CAACgB,OAAtB;MACA,CAACG,EAAE,GAAGnB,SAAS,CAACgB,OAAhB,MAA6B,IAA7B,IAAqCG,EAAE,KAAK,KAAK,CAAjD,GAAqD,KAAK,CAA1D,GAA8DA,EAAE,CAACI,OAAH,EAA9D;MACA;IACH;;IACD,IAAIR,MAAM,GAAG,IAAb;;IACA,CAAC;MAAA,OAAM7D,SAAS,CAAC,KAAK,CAAN,EAAS,KAAK,CAAd,EAAiB,KAAK,CAAtB,0CAAyB;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,MAEjCgC,IAAI,KAAK,QAFwB;kBAAA;kBAAA;gBAAA;;gBAAA;gBAGnB,OAAMsC,eAAA,CAAIC,QAAJ,CAAa;kBAC7BrC,QAAQ,EAARA;gBAD6B,CAAb,CAAN;;cAHmB;gBAG3BsC,KAH2B;gBAMjCC,YAAY,CAACC,OAAb,CAAqB,aAArB,EAAoCF,KAApC;;cANiC;gBAAA;gBAQ5B,OAAM,IAAIG,kBAAJ,CAAW;kBACtBpD,GAAG,EAAHA,GADsB;kBAEtBC,QAAQ,EAARA,QAFsB;kBAGtBU,QAAQ,EAARA,QAHsB;kBAItBT,UAAU,EAAVA,UAJsB;kBAKtBC,QAAQ,EAARA,QALsB;kBAMtBC,QAAQ,EAARA,QANsB;kBAOtBQ,UAAU,EAAVA,UAPsB;kBAQtBC,UAAU,EAAVA,UARsB;kBAStBH,UAAU,EAAVA,UATsB;kBAUtBL,WAAW,EAAXA,WAVsB;kBAWtBsC,SAAS,EAATA,SAXsB;kBAYtBlC,IAAI,EAAJA;gBAZsB,CAAX,CAAN;;cAR4B;gBAQrC6B,MARqC;gBAsBrCf,SAAS,CAACgB,OAAV,GAAoBD,MAApB;gBACAF,QAAQ,CAAC;kBAAEN,OAAO,EAAE,IAAX;kBAAiBD,KAAK,EAAE;gBAAxB,CAAD,CAAR;gBACAS,MAAM,CACDV,IADL,GAEKlC,IAFL,CAEU,YAAM;kBACZ0C,QAAQ,CAAC;oBAAER,IAAI,EAAE,IAAR;oBAAcC,KAAK,EAAE;kBAArB,CAAD,CAAR;gBACH,CAJD,WAKW;kBAAA,OAAMO,QAAQ,CAAC;oBAAEP,KAAK,EAAE;kBAAT,CAAD,CAAd;gBAAA,CALX,aAMa,YAAM;kBACfO,QAAQ,CAAC;oBAAEN,OAAO,EAAE;kBAAX,CAAD,CAAR;kBACAZ,MAAM,IAAIA,MAAM,EAAhB;gBACH,CATD;;cAxBqC;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,CAAzB,EAAf;IAAA,CAAD;;IAmCA,OAAO,YAAM;MACToB,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACQ,OAAP,EAAhD;MACAV,QAAQ,CAAC;QAAEP,KAAK,EAAE,KAAT;QAAgBC,OAAO,EAAE,KAAzB;QAAgCF,IAAI,EAAE;MAAtC,CAAD,CAAR;IACH,CAHD;EAIH,CAjDD,EAiDG,CAAC5B,GAAD,EAAMD,KAAN,CAjDH;;EAkDA,IAAMsD,aAAa,GAAG,SAAhBA,aAAgB,CAAC/D,CAAD,EAAO;IACzB,IAAMgD,MAAM,GAAGf,SAAS,CAACgB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAACgB,OAAP,CAAe9C,WAAf,EAA4BS,UAA5B,CAAV;IACA3B,CAAC,CAACiE,eAAF;EACH,CAJD;;EAKA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAAClE,CAAD,EAAO;IAC5BoC,gBAAgB;IAChB,IAAMY,MAAM,GAAGf,SAAS,CAACgB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAACE,MAAP,EAAV;IACAlD,CAAC,CAACiE,eAAF;EACH,CALD;;EAMA,OAAO,CAACxD,KAAD,GAAU,IAAA0D,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;IAAEC,SAAS,EAAE,iBAAb;IAAgCzC,GAAG,EAAEE,OAArC;IAA8CwC,KAAK,EAAE;MAAEvD,KAAK,EAALA,KAAF;MAASC,MAAM,EAANA;IAAT;EAArD,CAAd,EAAwF;IAAEuD,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAK,KAAL,EAAY;MAAE5C,GAAG,EAAEA,GAAP;MAAY0C,KAAK,EAAE;QAAEtD,MAAM,EAAE,MAAV;QAAkBD,KAAK,EAAE;MAAzB,CAAnB;MAAsDyB,EAAE,EAAEI,KAAK,CAACJ;IAAhE,CAAZ,CAAD,EAAoFI,KAAK,CAACN,KAAN,IAAe,IAAAkC,eAAA,EAAKC,oBAAL,EAAiB,EAAjB,CAAnG,EAAyH7B,KAAK,CAACL,OAAN,IAAiB,IAAAiC,eAAA,EAAKE,sBAAL,EAAmB,EAAnB,CAA1I,EAAkK9B,KAAK,CAACD,cAAN,IAAwBpB,WAAxB,IAAuC,IAAAiD,eAAA,EAAKG,2BAAL,EAAwBR,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB7C,WAAlB,CAAxB,CAAzM,EAAkQ,IAAAiD,eAAA,EAAKI,mBAAL,EAAgB;MAAEpD,QAAQ,EAAEA,QAAZ;MAAsBC,IAAI,EAAEA;IAA5B,CAAhB,CAAlQ,EAAuT,IAAA+C,eAAA,EAAK,KAAL,EAAYL,MAAM,CAACC,MAAP,CAAc;MAAEC,SAAS,EAAE,UAAb;MAAyBzC,GAAG,EAAEG;IAA9B,CAAd,EAA2D;MAAEwC,QAAQ,EAAE,IAAAL,gBAAA,EAAMW,iBAAN,EAAaV,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE,OAAb;QAAsBS,IAAI,EAAE,EAA5B;QAAgCC,KAAK,EAAE;MAAvC,CAAd,EAAiE;QAAER,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAKQ,uBAAL,EAAoB;UAAEjC,MAAM,EAAEf,SAAS,CAACgB,OAApB;UAA6BI,SAAS,EAAErB,WAAW,CAACiB;QAApD,CAApB,CAAD,EAAqF,CAAC,CAACtB,UAAF,IAAgB,IAAA8C,eAAA,EAAKS,kBAAL,EAAkB;UAAEC,OAAO,EAAEpB;QAAX,CAAlB,CAArG,EAAoJ3C,UAAU,IAAIC,QAAd,IAA2B,IAAAoD,eAAA,EAAKW,qBAAL,EAAkB;UAAEpC,MAAM,EAAEf,SAAS,CAACgB,OAApB;UAA6B7B,UAAU,EAAEA,UAAzC;UAAqDC,QAAQ,EAAEA;QAA/D,CAAlB,CAA/K,EAA8Q,CAACG,WAAW,KAAK,IAAhB,IAAwBA,WAAW,KAAK,KAAK,CAA7C,GAAiD,KAAK,CAAtD,GAA0DA,WAAW,CAACL,IAAvE,MAAiF,MAAjF,IAA4F,IAAAsD,eAAA,EAAKY,uBAAL,EAAuB;UAAEC,MAAM,EAAEzC,KAAK,CAACD,cAAhB;UAAgCuC,OAAO,EAAE;YAAA,OAAMrC,QAAQ,CAAC;cAAEF,cAAc,EAAE,CAACC,KAAK,CAACD;YAAzB,CAAD,CAAd;UAAA;QAAzC,CAAvB,CAA1W,EAAyeT,YAAY,GAAI,IAAAsC,eAAA,EAAKc,yBAAL,EAAyB;UAAEJ,OAAO,EAAEjB;QAAX,CAAzB,CAAJ,GAAgE,IAAAO,eAAA,EAAKe,qBAAL,EAAqB;UAAEL,OAAO,EAAEjB;QAAX,CAArB,CAArjB;MAAZ,CAAjE,CAAb;IAAZ,CAA3D,CAAZ,CAAvT;EAAZ,CAAxF,CAAb,CAAV,GAA0tC,IAAjuC;AACH,CAtFD,C,CAuFA;;;4BACe,IAAAuB,iBAAA,EAAWnF,UAAX,C"}
@@ -394,7 +394,7 @@ var Player = /*#__PURE__*/function () {
394
394
  var result = player.JS_Play(this.url, {
395
395
  playURL: this.url,
396
396
  mode: 1
397
- }, 1, (0, _utils.getHKTimeString)(this.startTime), (0, _utils.getHKTimeString)(this.endTime));
397
+ }, 0, (0, _utils.getHKTimeString)(this.startTime), (0, _utils.getHKTimeString)(this.endTime));
398
398
  this.windowIndex = 1;
399
399
  return result;
400
400
  } else if (this.type === 'icc_ws') {
@@ -423,6 +423,8 @@ var Player = /*#__PURE__*/function () {
423
423
  value: function destroy() {
424
424
  var _a, _b, _c;
425
425
 
426
+ console.log(this.type);
427
+
426
428
  if (this.type === 'flv') {
427
429
  var player = this.player;
428
430
  player === null || player === void 0 ? void 0 : player.destroy();
@@ -448,9 +450,9 @@ var Player = /*#__PURE__*/function () {
448
450
  }
449
451
 
450
452
  if (this.type === 'hk_ws') {
451
- var _player9 = this.player;
453
+ var _player9 = this.player; // player.JS_Stop(0);
452
454
 
453
- _player9.JS_Stop(1);
455
+ _player9.JS_StopRealPlayAll();
454
456
 
455
457
  var _dd8 = document.getElementById(this.containerId);
456
458
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","_a","_b","_c","_d","_e","player","preSpeed","containerId","windowIndex","url","channelNum","deviceCode","enableAgent","container","live","type","startTime","endTime","streamType","deviceIp","devicePort","id","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","dd","getElementById","hasChildNodes","removeChild","firstChild","VtxHlsPlayerManager","autoplay","WHEPClient","window","JSPlugin","szId","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementsByTagName","preload","startsWith","JSPluginHkCar","iWidth","clientWidth","iHeight","clientHeight","oStyle","border","borderSelect","background","$container","Jessibuca","videoBuffer","isResize","isFlv","decoder","useMSE","debug","hasAudio","useWCS","isNotMute","PlayerManager","ip","location","protocol","el","maxNum","num","children","length","Date","now","WebrtcPlayerManager","H264PlayerManager","BDPlayerManager","src","iframe","width","height","frameBorder","canvas","style","RslPlayer","canvasId","callback","code","message","console","log","play","JS_Play","playURL","mode","playRealVideo","channelList","isOnline","Number","getHKTimeString","playRecordVideo","moment","format","recordSource","destroy","remove","JS_Stop","childNodes","JS_DestroyWorker","close","captureName","time","name","JS_CapturePicture","res","DPlayer","dp","querySelector","toBlob","blob","URL","createObjectURL","fileBlob","screenshot","Capture","setTimeout","JS_Resize","setPlayerAdapter","volume","iCurrentSoundWnd","JS_OpenSound","JS_SetVolume","ttxplayer","enableAudio","openAudio","setVolume","speed","JS_Slow","JS_Fast","playSpeed","playbackRate","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","call","StreamEnd","add","JS_Seek","jumpPlayByTime","replace","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","videoWidth","videoHeight","context","getContext","drawImage","dataURL"],"sources":["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 BDPlayerManager from '../bd/PlayerManager';\nimport H264PlayerManager from '../h264/PlayerManager';\nimport PlayerManager from '../icc/PlayerManager';\nimport RslPlayer from '../rsl/PlayerManager';\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport VtxHlsPlayerManager from '../vtxHls/PlayerManager';\nimport WHEPClient from '../vtxHls/WhepManager';\nimport WebrtcPlayerManager from '../webrtc/PlayerManager';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n var _a, _b, _c, _d, _e;\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, channelNum, deviceCode, enableAgent = false, container, live = true, type, startTime, endTime, streamType, deviceIp, devicePort, } = params;\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.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 if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: false,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n if (this.type === 'vtxhls' && Hls.isSupported() && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n container.appendChild(video);\n this.player = new VtxHlsPlayerManager({\n url: this.url,\n video: video,\n });\n }\n if (this.type === 'vtxwhep' && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.video.autoplay = true;\n container.appendChild(this.video);\n this.player = new WHEPClient({\n url: this.url,\n video: this.video,\n });\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\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 if (this.type === 'hkcar_ws' && (url.startsWith('ws://') || url.startsWith('wss://'))) {\n const wrapDiv = document.getElementById(container.id);\n this.player = new window.JSPluginHkCar({\n szId: container.id,\n iWidth: wrapDiv.clientWidth,\n iHeight: wrapDiv.clientHeight,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n szBasePath: './resources/hkcar/',\n oStyle: {\n border: 'transparent',\n borderSelect: 'transparent',\n background: '#2b3d51',\n },\n });\n }\n // 处理ws视频\n if (this.type === 'vtx_ws') {\n const $container = document.getElementById(container.id);\n this.player = new window.Jessibuca({\n container: $container,\n videoBuffer: 0.2,\n isResize: false,\n isFlv: true,\n decoder: './resources/jessibuca/decoder.js',\n useMSE: false,\n debug: false,\n hasAudio: false,\n useWCS: false,\n isNotMute: true, //是否开启声音\n });\n }\n if (this.type === 'icc_ws') {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.player = new PlayerManager({\n ip: window.location.protocol === 'http:'\n ? deviceIp\n : `${deviceIp || ''}:${devicePort || ''}`,\n el: container.id,\n type: live ? 'real' : 'record',\n maxNum: 1,\n num: 1,\n });\n }\n if (this.type === 'webrtc') {\n const dd = document.getElementById(container.id);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = `${container.id}_${Date.now()}`;\n video.id = id;\n container.appendChild(video);\n this.player = new WebrtcPlayerManager({\n el: id,\n url: this.url,\n type: live,\n });\n }\n if (this.type === 'h264') {\n const dd = document.getElementById(container.id);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = 'playerh264';\n video.id = id;\n container.appendChild(video);\n this.player = new H264PlayerManager({ id: id, url: this.url });\n }\n if (this.type === 'bd') {\n this.player = new BDPlayerManager({\n el: container.id,\n type: live,\n url: this.url,\n });\n }\n if (this.type === 'mp4') {\n const dd = document.getElementById(container.id);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n this.video.src = this.url;\n this.video.autoplay = true;\n const id = 'mp4';\n this.video.id = id;\n container.appendChild(this.video);\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(container.id);\n ((_d = dd === null || dd === void 0 ? void 0 : dd.children) === null || _d === void 0 ? void 0 : _d.length) > 0 && dd.removeChild(dd.firstChild);\n const iframe = document.createElement('iframe');\n iframe.width = '100%';\n iframe.height = '100%';\n iframe.frameBorder = '0';\n iframe.src = this.url;\n container.appendChild(iframe);\n }\n if (this.type === 'rsl') {\n const dd = document.getElementById(container.id);\n ((_e = dd === null || dd === void 0 ? void 0 : dd.children) === null || _e === void 0 ? void 0 : _e.length) > 0 && dd.removeChild(dd.firstChild);\n const canvas = document.createElement('canvas');\n canvas.id = 'myCanvas';\n canvas.style.width = '100%';\n canvas.style.height = '100%';\n container.appendChild(canvas);\n this.player = new RslPlayer({\n url: this.url,\n canvasId: 'myCanvas',\n callback: function (code, message) {\n console.log(code, message);\n },\n });\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0);\n this.windowIndex = 0;\n return result;\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.playRealVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n isOnline: true,\n },\n ],\n streamType: Number(this.streamType) + 1,\n });\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.play();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.playRealVideo();\n }\n if (this.type === 'mp4') {\n //\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.play(this.url);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.play();\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n this.windowIndex = 1;\n return result;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n return new Promise((resolve) => {\n player.playRecordVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n },\n ],\n startTime: moment(this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n endTime: moment(this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n recordSource: '2',\n streamType: this.streamType,\n });\n resolve(true);\n });\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n var _a, _b, _c;\n if (this.type === 'flv') {\n const player = this.player;\n player === null || player === void 0 ? void 0 : player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player && player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'vtxhls' || this.type === 'vtxwhep') {\n this.video.remove();\n this.player = null;\n const dd = document.getElementById(this.containerId);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\n const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_DestroyWorker();\n const dd = document.getElementById(this.containerId);\n (dd === null || dd === void 0 ? void 0 : dd.childNodes) && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'h264') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.close(0);\n }\n if (this.type === 'mp4') {\n this.video = null;\n const dd = document.getElementById(this.containerId);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.destroy();\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(this.containerId);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.destroy();\n const dd = document.getElementById(this.containerId);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else if (this.type === 'bd') {\n const DPlayer = this.player.dp;\n const canvas = DPlayer.container.querySelector('canvas');\n if (canvas) {\n canvas.toBlob((blob) => {\n if (blob) {\n callback === null || callback === void 0 ? void 0 : callback(URL.createObjectURL(blob));\n }\n });\n }\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n if (player) {\n const fileBlob = player.screenshot(captureName, 'blob');\n callback && callback(URL.createObjectURL(fileBlob));\n }\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.setPlayerAdapter('selfAdaption');\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player.iCurrentSoundWnd !== this.windowIndex) {\n player.JS_OpenSound(this.windowIndex);\n }\n player.JS_SetVolume(this.windowIndex, value);\n }\n if (this.type === 'bd') {\n const player = this.player.dp;\n if (!player.ttxplayer.enableAudio)\n player.ttxplayer.openAudio();\n player.ttxplayer.setVolume(value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.playSpeed(speed);\n }\n else if (this.type === 'bd') {\n // todo\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if ((this.type === 'hk_ws' || this.type === 'hkcar_ws') && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' || this.type === 'hkcar_ws'\n ? this.preSpeed\n : this.video.playbackRate);\n });\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 /** 跳转到 */\n seekTo(time) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\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 yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n const seekTime = (_b = moment(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');\n player.jumpPlayByTime(seekTime);\n }\n else if (this.type === 'bd') {\n // const seekTime = moment(this.startTime)?.add(time, 'seconds').format('HH:mm:ss');\n const player = this.player;\n player.close(0);\n this.player = null;\n const url = this.url.replace('PLAYBEG=0', `PLAYBEG=${time * 1000}`);\n this.player = new BDPlayerManager({\n el: this.containerId,\n type: false,\n url: url,\n });\n this.player.playRealVideo();\n }\n else {\n this.video.currentTime = time;\n }\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.pause();\n callback && callback();\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n player.pause();\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.play();\n callback && callback();\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","Player","params","_a","_b","_c","_d","_e","player","preSpeed","containerId","windowIndex","url","channelNum","deviceCode","enableAgent","container","live","type","startTime","endTime","streamType","deviceIp","devicePort","id","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","dd","getElementById","hasChildNodes","removeChild","firstChild","VtxHlsPlayerManager","autoplay","WHEPClient","window","JSPlugin","szId","szBasePath","iMaxSplit","iCurrentSplit","wrapDiv","getElementsByTagName","preload","startsWith","JSPluginHkCar","iWidth","clientWidth","iHeight","clientHeight","oStyle","border","borderSelect","background","$container","Jessibuca","videoBuffer","isResize","isFlv","decoder","useMSE","debug","hasAudio","useWCS","isNotMute","PlayerManager","ip","location","protocol","el","maxNum","num","children","length","Date","now","WebrtcPlayerManager","H264PlayerManager","BDPlayerManager","src","iframe","width","height","frameBorder","canvas","style","RslPlayer","canvasId","callback","code","message","console","log","play","JS_Play","playURL","mode","playRealVideo","channelList","isOnline","Number","getHKTimeString","playRecordVideo","moment","format","recordSource","destroy","remove","JS_StopRealPlayAll","childNodes","JS_DestroyWorker","close","captureName","time","name","JS_CapturePicture","res","DPlayer","dp","querySelector","toBlob","blob","URL","createObjectURL","fileBlob","screenshot","Capture","setTimeout","JS_Resize","setPlayerAdapter","volume","iCurrentSoundWnd","JS_OpenSound","JS_SetVolume","ttxplayer","enableAudio","openAudio","setVolume","speed","JS_Slow","JS_Fast","playSpeed","playbackRate","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","call","StreamEnd","add","JS_Seek","jumpPlayByTime","replace","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","videoWidth","videoHeight","context","getContext","drawImage","dataURL"],"sources":["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 BDPlayerManager from '../bd/PlayerManager';\nimport H264PlayerManager from '../h264/PlayerManager';\nimport PlayerManager from '../icc/PlayerManager';\nimport RslPlayer from '../rsl/PlayerManager';\nimport { getHKTimeString, getPlayerParams } from '../utils';\nimport VtxHlsPlayerManager from '../vtxHls/PlayerManager';\nimport WHEPClient from '../vtxHls/WhepManager';\nimport WebrtcPlayerManager from '../webrtc/PlayerManager';\nimport FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n var _a, _b, _c, _d, _e;\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n this.containerId = '';\n // 海康窗口下标\n this.windowIndex = 0;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, channelNum, deviceCode, enableAgent = false, container, live = true, type, startTime, endTime, streamType, deviceIp, devicePort, } = params;\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.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 if (this.type === 'flv' && FlvJs.isSupported() && video) {\n container.appendChild(video);\n this.player = FlvJs.createPlayer({\n type: 'flv',\n isLive: false,\n url: this.url,\n });\n this.player.attachMediaElement(this.video);\n this.player.load();\n }\n // 处理hls格式视频\n if (this.type === 'hls' && Hls.isSupported() && video) {\n container.appendChild(video);\n this.player = new Hls();\n this.player.loadSource(this.url);\n this.player.attachMedia(this.video);\n }\n if (this.type === 'vtxhls' && Hls.isSupported() && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n container.appendChild(video);\n this.player = new VtxHlsPlayerManager({\n url: this.url,\n video: video,\n });\n }\n if (this.type === 'vtxwhep' && video) {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.video.autoplay = true;\n container.appendChild(this.video);\n this.player = new WHEPClient({\n url: this.url,\n video: this.video,\n });\n }\n // 处理海康视频\n if (this.type === 'hk_ws') {\n this.player = new window.JSPlugin({\n szId: container.id,\n szBasePath: './resources/',\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 if (this.type === 'hkcar_ws' && (url.startsWith('ws://') || url.startsWith('wss://'))) {\n const wrapDiv = document.getElementById(container.id);\n this.player = new window.JSPluginHkCar({\n szId: container.id,\n iWidth: wrapDiv.clientWidth,\n iHeight: wrapDiv.clientHeight,\n iMaxSplit: 1,\n iCurrentSplit: 1,\n szBasePath: './resources/hkcar/',\n oStyle: {\n border: 'transparent',\n borderSelect: 'transparent',\n background: '#2b3d51',\n },\n });\n }\n // 处理ws视频\n if (this.type === 'vtx_ws') {\n const $container = document.getElementById(container.id);\n this.player = new window.Jessibuca({\n container: $container,\n videoBuffer: 0.2,\n isResize: false,\n isFlv: true,\n decoder: './resources/jessibuca/decoder.js',\n useMSE: false,\n debug: false,\n hasAudio: false,\n useWCS: false,\n isNotMute: true, //是否开启声音\n });\n }\n if (this.type === 'icc_ws') {\n const dd = document.getElementById(container.id);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n this.player = new PlayerManager({\n ip: window.location.protocol === 'http:'\n ? deviceIp\n : `${deviceIp || ''}:${devicePort || ''}`,\n el: container.id,\n type: live ? 'real' : 'record',\n maxNum: 1,\n num: 1,\n });\n }\n if (this.type === 'webrtc') {\n const dd = document.getElementById(container.id);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = `${container.id}_${Date.now()}`;\n video.id = id;\n container.appendChild(video);\n this.player = new WebrtcPlayerManager({\n el: id,\n url: this.url,\n type: live,\n });\n }\n if (this.type === 'h264') {\n const dd = document.getElementById(container.id);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n video.autoplay = true;\n const id = 'playerh264';\n video.id = id;\n container.appendChild(video);\n this.player = new H264PlayerManager({ id: id, url: this.url });\n }\n if (this.type === 'bd') {\n this.player = new BDPlayerManager({\n el: container.id,\n type: live,\n url: this.url,\n });\n }\n if (this.type === 'mp4') {\n const dd = document.getElementById(container.id);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n this.video.src = this.url;\n this.video.autoplay = true;\n const id = 'mp4';\n this.video.id = id;\n container.appendChild(this.video);\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(container.id);\n ((_d = dd === null || dd === void 0 ? void 0 : dd.children) === null || _d === void 0 ? void 0 : _d.length) > 0 && dd.removeChild(dd.firstChild);\n const iframe = document.createElement('iframe');\n iframe.width = '100%';\n iframe.height = '100%';\n iframe.frameBorder = '0';\n iframe.src = this.url;\n container.appendChild(iframe);\n }\n if (this.type === 'rsl') {\n const dd = document.getElementById(container.id);\n ((_e = dd === null || dd === void 0 ? void 0 : dd.children) === null || _e === void 0 ? void 0 : _e.length) > 0 && dd.removeChild(dd.firstChild);\n const canvas = document.createElement('canvas');\n canvas.id = 'myCanvas';\n canvas.style.width = '100%';\n canvas.style.height = '100%';\n container.appendChild(canvas);\n this.player = new RslPlayer({\n url: this.url,\n canvasId: 'myCanvas',\n callback: function (code, message) {\n console.log(code, message);\n },\n });\n }\n }\n /** 播放 */\n play() {\n if (this.type === 'flv') {\n const player = this.player;\n return player.play();\n }\n if (this.type === 'hls') {\n return this.video.play();\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 1 }, 0);\n this.windowIndex = 0;\n return result;\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.playRealVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n isOnline: true,\n },\n ],\n streamType: Number(this.streamType) + 1,\n });\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.play();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.playRealVideo();\n }\n if (this.type === 'mp4') {\n //\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.play(this.url);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.play();\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\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.windowIndex = 1;\n return result;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n return new Promise((resolve) => {\n player.playRecordVideo({\n channelList: [\n {\n id: this.deviceCode + '$1$0$' + this.channelNum,\n },\n ],\n startTime: moment(this.startTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n endTime: moment(this.endTime, 'YYYY-MM-DD HH:mm:ss').format('X'),\n recordSource: '2',\n streamType: this.streamType,\n });\n resolve(true);\n });\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n var _a, _b, _c;\n console.log(this.type);\n if (this.type === 'flv') {\n const player = this.player;\n player === null || player === void 0 ? void 0 : player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player && player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'vtxhls' || this.type === 'vtxwhep') {\n this.video.remove();\n this.player = null;\n const dd = document.getElementById(this.containerId);\n while (dd === null || dd === void 0 ? void 0 : dd.hasChildNodes()) {\n dd.removeChild(dd.firstChild);\n }\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n // player.JS_Stop(0);\n player.JS_StopRealPlayAll();\n const dd = document.getElementById(this.containerId);\n dd && dd.childNodes && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_DestroyWorker();\n const dd = document.getElementById(this.containerId);\n (dd === null || dd === void 0 ? void 0 : dd.childNodes) && dd.childNodes[0] && dd.removeChild(dd.childNodes[0]);\n }\n if (this.type === 'icc_ws') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'webrtc') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'h264') {\n const player = this.player;\n player.close();\n }\n if (this.type === 'bd') {\n const player = this.player;\n player.close(0);\n }\n if (this.type === 'mp4') {\n this.video = null;\n const dd = document.getElementById(this.containerId);\n ((_a = dd === null || dd === void 0 ? void 0 : dd.children) === null || _a === void 0 ? void 0 : _a.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'vtx_ws') {\n const player = this.player;\n player.destroy();\n }\n if (this.type === 'iframe') {\n const dd = document.getElementById(this.containerId);\n ((_b = dd === null || dd === void 0 ? void 0 : dd.children) === null || _b === void 0 ? void 0 : _b.length) > 0 && dd.removeChild(dd.firstChild);\n }\n if (this.type === 'rsl') {\n const player = this.player;\n player.destroy();\n const dd = document.getElementById(this.containerId);\n ((_c = dd === null || dd === void 0 ? void 0 : dd.children) === null || _c === void 0 ? void 0 : _c.length) > 0 && dd.removeChild(dd.firstChild);\n }\n }\n /** 截图 */\n capture(captureName = '视频截图', callback = null, time = true) {\n let name = captureName;\n if (time)\n name += `-${moment().format('YYYYMMDDHHmmss')}`;\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback && callback(res);\n });\n }\n else if (this.type === 'bd') {\n const DPlayer = this.player.dp;\n const canvas = DPlayer.container.querySelector('canvas');\n if (canvas) {\n canvas.toBlob((blob) => {\n if (blob) {\n callback === null || callback === void 0 ? void 0 : callback(URL.createObjectURL(blob));\n }\n });\n }\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n if (player) {\n const fileBlob = player.screenshot(captureName, 'blob');\n callback && callback(URL.createObjectURL(fileBlob));\n }\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n setTimeout(() => {\n player.JS_Resize();\n }, 500);\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.setPlayerAdapter('selfAdaption');\n }\n }\n /**\n * 设置音量\n * @param value\n */\n setVolume(value) {\n if (this.type === 'flv') {\n const player = this.player;\n player.volume = value / 100;\n }\n if (this.type === 'hls') {\n this.video.volume = value / 100;\n }\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (player.iCurrentSoundWnd !== this.windowIndex) {\n player.JS_OpenSound(this.windowIndex);\n }\n player.JS_SetVolume(this.windowIndex, value);\n }\n if (this.type === 'bd') {\n const player = this.player.dp;\n if (!player.ttxplayer.enableAudio)\n player.ttxplayer.openAudio();\n player.ttxplayer.setVolume(value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n if (this.preSpeed / speed === 2) {\n player.JS_Slow(1);\n }\n if (this.preSpeed / speed === 4) {\n player.JS_Slow(1).then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 8) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (this.preSpeed / speed === 16) {\n player\n .JS_Slow(1)\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1))\n .then(() => player.JS_Slow(1));\n }\n if (speed / this.preSpeed === 2) {\n player.JS_Fast(1);\n }\n if (speed / this.preSpeed === 4) {\n player.JS_Fast(1).then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 8) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n if (speed / this.preSpeed === 16) {\n player\n .JS_Fast(1)\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1))\n .then(() => player.JS_Fast(1));\n }\n this.preSpeed = speed;\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n player.playSpeed(speed);\n }\n else if (this.type === 'bd') {\n // todo\n }\n else {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n var _a;\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if ((this.type === 'hk_ws' || this.type === 'hkcar_ws') && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' || this.type === 'hkcar_ws'\n ? this.preSpeed\n : this.video.playbackRate);\n });\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 /** 跳转到 */\n seekTo(time) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\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 yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n }\n else if (this.type === 'icc_ws') {\n const player = this.player;\n const seekTime = (_b = moment(this.startTime)) === null || _b === void 0 ? void 0 : _b.add(time, 'seconds').format('HH:mm:ss');\n player.jumpPlayByTime(seekTime);\n }\n else if (this.type === 'bd') {\n // const seekTime = moment(this.startTime)?.add(time, 'seconds').format('HH:mm:ss');\n const player = this.player;\n player.close(0);\n this.player = null;\n const url = this.url.replace('PLAYBEG=0', `PLAYBEG=${time * 1000}`);\n this.player = new BDPlayerManager({\n el: this.containerId,\n type: false,\n url: url,\n });\n this.player.playRealVideo();\n }\n else {\n this.video.currentTime = time;\n }\n return Promise.resolve();\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.pause();\n callback && callback();\n }\n else if (this.type === 'vtx_ws') {\n const player = this.player;\n player.pause();\n }\n else {\n this.video.pause();\n callback && callback();\n }\n }\n /**\n * 恢复播放\n * @param callback 回调函数\n */\n resume(callback) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n player.JS_Resume(1).then(() => callback && callback());\n }\n else if (this.type === 'bd') {\n const player = this.player;\n player.play();\n callback && callback();\n }\n else {\n this.video.play();\n callback && callback();\n }\n }\n /**\n * 开始对讲\n * @param url 对讲地址\n */\n startTalk(url) {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StartTalk(url);\n }\n return Promise.reject();\n }\n /**\n * 开始对讲\n * @param state 状态\n */\n stopTalk() {\n if (this.type === 'hk_ws' || this.type === 'hkcar_ws') {\n const player = this.player;\n return player.JS_StopTalk();\n }\n return Promise.reject();\n }\n}\n/**\n * 截图\n * @param video\n */\nconst Capture = (video, name, callback) => {\n const canvas = document.createElement('canvas');\n canvas.width = video.videoWidth;\n canvas.height = video.videoHeight;\n const context = canvas.getContext('2d');\n if (context) {\n context.drawImage(video, 0, 0, canvas.width, canvas.height);\n let dataURL;\n canvas.toBlob((blob) => {\n if (blob) {\n dataURL = URL.createObjectURL(blob);\n // const link = document.createElement('a');\n callback && callback(dataURL);\n // link.href = dataURL;\n // link.download = `${name}.png`;\n // link.style.display = 'none';\n // document.body.appendChild(link);\n // link.click();\n // document.body.removeChild(link);\n // URL.revokeObjectURL(dataURL);\n }\n });\n }\n};\nexport default Player;\n"],"mappings":"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"}
@@ -27,11 +27,12 @@ export declare class JSPlugin {
27
27
  * @param windowIndex 窗口下标
28
28
  */
29
29
  JS_Stop(windowIndex: number): Promise<void>;
30
+ JS_StopRealPlayAll();
30
31
  /**
31
32
  * 截图
32
33
  * @param windowIndex 当前窗口
33
34
  * @param fileName 文件名称
34
- * @param fileType 文件类型
35
+ * @param fileType 文件类型
35
36
  * @param callback 回调
36
37
  */
37
38
  JS_CapturePicture(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/player",
3
- "version": "1.7.1",
3
+ "version": "1.7.3",
4
4
  "private": false,
5
5
  "description": "视频业务组件",
6
6
  "main": "./lib/index.js",