@vtx/player 1.2.7 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/fetch.d.ts +2 -0
- package/lib/api/fetch.js +35 -18
- package/lib/api/fetch.js.map +1 -1
- package/lib/api/types.d.ts +16 -0
- package/lib/history-control/index.d.ts +4 -0
- package/lib/history-control/index.js +21 -3
- package/lib/history-control/index.js.map +1 -1
- package/lib/history-control-v2/components/grid-item/index.js +12 -0
- package/lib/history-control-v2/components/grid-item/index.js.map +1 -1
- package/lib/history-control-v2/components/panel/index.js +26 -5
- package/lib/history-control-v2/components/panel/index.js.map +1 -1
- package/lib/history-control-v2/interface.d.ts +6 -0
- package/lib/history-control-v2/utils.js +2 -0
- package/lib/history-control-v2/utils.js.map +1 -1
- package/lib/history-player/index.d.ts +12 -0
- package/lib/history-player/index.js +44 -13
- package/lib/history-player/index.js.map +1 -1
- package/lib/icc/PlayerManager.d.ts +89 -0
- package/lib/icc/PlayerManager.js +317 -0
- package/lib/icc/PlayerManager.js.map +1 -0
- package/lib/icc/api.d.ts +139 -0
- package/lib/icc/api.js +273 -0
- package/lib/icc/api.js.map +1 -0
- package/lib/live-control-v2/index.js +4 -0
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.d.ts +8 -4
- package/lib/live-player/index.js +109 -29
- package/lib/live-player/index.js.map +1 -1
- package/lib/live-player-image/index.js +1 -0
- package/lib/live-player-image/index.js.map +1 -1
- package/lib/player/index.d.ts +20 -2
- package/lib/player/index.js +92 -19
- package/lib/player/index.js.map +1 -1
- package/lib/typings/@vtx/utils/index.d.ts +1 -0
- package/lib/typings/wsplayer.d.ts +99 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["HistoryControlV2Panel","forwardRef","props","ref","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useRequest","getHistoryUrls","manual","runAsync","getPlaybackUrlSingle","GetHKV2Url","columns","title","dataIndex","width","key","render","_","record","index","_a","active","_jsx","Button","Object","assign","className","onClick","newChannels","startTime","endTime","deal","url","player","beginTime","tagId","hkType","code","deviceId","tenantId","getUrlParam","then","data","playbackUrl","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","loadData","channel","deviceChannels","JSON","stringify","protocol","token","res","Array","isArray","length","message","info","newIds","map","includes","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_b","_c","_d","_e","_f","_g","_h","_j","_k","list","moment","diff","result","find","citem","isClose","e","slice","getChannelData","push","error","Promise","all","forEach","useImperativeHandle","load","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","flex","overflow","Table","dataSource","tableList","scroll","y","x","pagination","rowKey","guid","rowClassName","getSplitLines","step","i","element","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","total","itemStart","itemEnd","itemTotal","displayName"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../../../icons';\nimport { TimeFormat, getUrlParam, guid } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { useMouse, useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 50,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n var _a;\n const active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = url || record.url;\n newChannels[activeIndex].player = player || '';\n setChannels(newChannels);\n }\n if (record.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n {\n title: '设备名称',\n dataIndex: 'deviceName',\n width: 200,\n },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 170,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 170,\n },\n {\n title: '持续时间',\n width: 130,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 110,\n dataIndex: 'size',\n },\n ];\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getUrlParam('token'),\n }).then((res) => {\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info('最多播放25个视频通道');\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if (item.list.length) {\n if (moment((_b = (_a = item.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_d = (_c = item.list) === null || _c === void 0 ? void 0 : _c[item.list.length - 1]) === null || _d === void 0 ? void 0 : _d.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n newChannels[result.channelIndex] = Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_f = (_e = item.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: isClose\n ? ((_h = (_g = item.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].endTime });\n }\n else {\n const channelIndex = (_k = (_j = newChannels.filter((item) => item.channelNum === '')) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = item.list.filter((e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (data.hkType === 'HK_CAR_CLOUD_V2') {\n fetchArr.push(GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getUrlParam('tenantId'),\n }));\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error('没有多余的播放位置');\n }\n }\n });\n if (fetchArr.length) {\n Promise.all(fetchArr).then((data) => {\n data.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n });\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info('未查询到视频');\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && realChannels.length > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime) => {\n const newChannels = [...channels];\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { index, startTime: moment(startTime).format(TimeFormat.params), endTime: moment(endTime).format(TimeFormat.params), tagId: '' });\n setChannels(newChannels);\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: [\"\\u89C6\\u9891\\u901A\\u9053(\", realChannels.length, \")\"] })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], scroll: { y: 100, x: 920 }, pagination: false, rowKey: () => {\n return guid();\n }, rowClassName: (_, index) => { var _a; return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : ''; } }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n // url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, i.beginTime));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default HistoryControlV2Panel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["HistoryControlV2Panel","forwardRef","props","ref","useContext","historyControlV2Context","channels","setChannels","setLoading","activeIndex","setActiveIndex","timeLinePosition","realChannels","filter","item","channelNum","segmentsRef","useRef","getRef","current","onVideoClose","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useRequest","getHistoryUrls","manual","runAsync","getPlaybackUrlSingle","GetHKV2Url","columns","title","dataIndex","width","key","render","_","record","index","_a","active","_jsx","Button","Object","assign","className","onClick","newChannels","startTime","endTime","deal","url","player","beginTime","tagId","hkType","code","deviceId","tenantId","getUrlParam","then","data","playbackUrl","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","loadData","channel","deviceChannels","JSON","stringify","protocol","token","res","Array","isArray","length","message","info","newIds","map","includes","channelIndex","DEFAULT_PLAY_PARAMS","fetchArr","fetchIndexArr","_b","_c","_d","_e","_f","_g","_h","_j","_k","findIndex","v","streamType","deviceCode","deviceIp","devicePort","list","moment","diff","result","find","citem","isClose","e","slice","getChannelData","push","error","Promise","all","forEach","useImperativeHandle","load","src","collapseBtnImg","alt","style","transform","TimeVerticalLine","history","segmentData","channelName","format","TimeFormat","params","getSegments","TimePositionIcon","left","TimeLine","display","Tooltip","flex","overflow","Table","dataSource","tableList","scroll","y","x","pagination","rowKey","guid","rowClassName","getSplitLines","step","i","element","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","time","start","valueOf","flag","playStart","playEnd","now","begin","end","total","itemStart","itemEnd","itemTotal","displayName"],"sources":["history-control-v2/components/panel/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useContext, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrls, getPlaybackUrlSingle } from '../../../api';\nimport { TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../../../icons';\nimport { TimeFormat, getUrlParam, guid } from '../../../utils';\nimport { historyControlV2Context } from '../../context';\nimport collapseBtnImg from '../../images/collapse.png';\nimport { DEFAULT_PLAY_PARAMS, getChannelData } from '../../utils';\nimport { useMouse, useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nexport const HistoryControlV2Panel = forwardRef((props, ref) => {\n const { channels, setChannels, setLoading, activeIndex, setActiveIndex, timeLinePosition } = useContext(historyControlV2Context);\n const realChannels = channels.filter((item) => item.channelNum !== '');\n const segmentsRef = useRef(null);\n const getRef = () => {\n return segmentsRef.current;\n };\n const { onVideoClose } = props;\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const { runAsync } = useRequest(getHistoryUrls, {\n manual: true,\n });\n const { runAsync: GetHKV2Url } = useRequest(getPlaybackUrlSingle, {\n manual: true,\n });\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 50,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n var _a;\n const active = ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = -1;\n newChannels[activeIndex].startTime = '';\n newChannels[activeIndex].endTime = '';\n setChannels(newChannels);\n onVideoClose && onVideoClose(newChannels[activeIndex]);\n }\n else {\n // eslint-disable-next-line no-inner-declarations\n function deal(url, player) {\n const newChannels = [...channels];\n newChannels[activeIndex].index = index;\n newChannels[activeIndex].startTime = record.beginTime;\n newChannels[activeIndex].endTime = record.endTime;\n newChannels[activeIndex].tagId = '';\n newChannels[activeIndex].url = url || record.url;\n newChannels[activeIndex].player = player || '';\n setChannels(newChannels);\n }\n if (record.hkType === 'HK_CAR_CLOUD_V2') {\n GetHKV2Url({\n code: record.code,\n beginTime: record.beginTime,\n endTime: record.endTime,\n deviceId: record.deviceId,\n channelNum: record.channelNum,\n tenantId: getUrlParam('tenantId'),\n }).then((data) => {\n deal(data.playbackUrl, (data === null || data === void 0 ? void 0 : data.player) || '');\n });\n }\n else {\n deal();\n }\n }\n } }, { children: active ? (_jsxs(_Fragment, { children: [_jsx(VideoCloseIcon, { active: true }), \"\\u5173\\u95ED\"] })) : (_jsxs(_Fragment, { children: [_jsx(VideoPlayIcon, {}), \"\\u64AD\\u653E\"] })) })));\n },\n },\n {\n title: '设备名称',\n dataIndex: 'deviceName',\n width: 200,\n },\n {\n title: '开始时间',\n dataIndex: 'beginTime',\n width: 170,\n },\n {\n title: '结束时间',\n dataIndex: 'endTime',\n width: 170,\n },\n {\n title: '持续时间',\n width: 130,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 110,\n dataIndex: 'size',\n },\n ];\n const loadData = (channel) => {\n setLoading(true);\n runAsync({\n deviceChannels: JSON.stringify(channel.deviceChannels),\n protocol: channel.protocol,\n beginTime: channel.beginTime,\n endTime: channel.endTime,\n token: getUrlParam('token'),\n }).then((res) => {\n if (Array.isArray(res)) {\n if (res.length > 25) {\n message.info('最多播放25个视频通道');\n }\n const newIds = [...res].map((item) => {\n return `${item.deviceId}${item.channelNum}`;\n });\n const newChannels = [...channels];\n channels.map((item, index) => {\n if (!newIds.includes(`${item.deviceId}${item.channelNum}`)) {\n newChannels[index] = Object.assign({ channelIndex: index }, DEFAULT_PLAY_PARAMS);\n }\n });\n const fetchArr = [], fetchIndexArr = [];\n res.filter((item, index) => index < 25).map((item) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n if (item.player === 'icc_ws') {\n const channelIndex = newChannels.findIndex((v) => !v.url);\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), { url: 'icc_ws', startTime: channel.beginTime, endTime: channel.endTime, streamType: item.streamType, deviceCode: item.deviceCode, deviceId: item.deviceId, deviceIp: item.deviceIp, devicePort: item.devicePort, channelNum: item.channelNum, player: 'icc_ws' });\n return;\n }\n /**\n * 优化第一条数据的开始时间不要早于请求的开始时间\n * 最后一条的结束时间不要晚于请求的结束时间\n */\n if (item.list.length) {\n if (moment((_b = (_a = item.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.beginTime).diff(moment(channel.beginTime), 'seconds') < 0) {\n item.list[0].beginTime = channel.beginTime;\n }\n if (moment((_d = (_c = item.list) === null || _c === void 0 ? void 0 : _c[item.list.length - 1]) === null || _d === void 0 ? void 0 : _d.endTime).diff(moment(channel.endTime), 'seconds') > 0) {\n item.list[item.list.length - 1].endTime = channel.endTime;\n }\n }\n const result = newChannels.find((citem) => citem.deviceId === item.deviceId && citem.channelNum === item.channelNum);\n if (result) {\n const isClose = newChannels[result.channelIndex].index === -1 &&\n newChannels[result.channelIndex].tagId === '';\n newChannels[result.channelIndex] = Object.assign(Object.assign({}, newChannels[result.channelIndex]), { \n // 如果当前既没有播放列表 又没有播放标签 再 开始以第一个播放\n index: isClose ? 0 : newChannels[result.channelIndex].index, startTime: isClose\n ? ((_f = (_e = item.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].startTime, endTime: isClose\n ? ((_h = (_g = item.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.beginTime) || channel.beginTime\n : newChannels[result.channelIndex].endTime });\n }\n else {\n const channelIndex = (_k = (_j = newChannels.filter((item) => item.channelNum === '')) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.channelIndex;\n if (typeof channelIndex == 'number') {\n // 过滤跨天的数据\n item.list = item.list.filter((e) => e.beginTime.slice(0, 10) === e.endTime.slice(0, 10));\n const data = getChannelData(item, channel);\n if (data.hkType === 'HK_CAR_CLOUD_V2') {\n fetchArr.push(GetHKV2Url({\n code: data.code,\n beginTime: data.startTime,\n endTime: data.endTime,\n deviceId: data.deviceId,\n channelNum: data.channelNum,\n tenantId: getUrlParam('tenantId'),\n }));\n fetchIndexArr.push(channelIndex);\n }\n newChannels[channelIndex] = Object.assign(Object.assign({}, newChannels[channelIndex]), data);\n }\n else {\n message.error('没有多余的播放位置');\n }\n }\n });\n if (fetchArr.length) {\n Promise.all(fetchArr).then((data) => {\n data.forEach((e, index) => {\n newChannels[fetchIndexArr[index]] = Object.assign(Object.assign({}, newChannels[fetchIndexArr[index]]), { url: e.playbackUrl, player: (e === null || e === void 0 ? void 0 : e.player) || '' });\n });\n setChannels(newChannels);\n });\n }\n else {\n setChannels(newChannels);\n }\n }\n else {\n message.info('未查询到视频');\n }\n setLoading(false);\n });\n };\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n loadData(channel);\n },\n };\n });\n return (_jsx(_Fragment, { children: Array.isArray(realChannels) && realChannels.length > 0 ? (_jsxs(\"div\", Object.assign({ className: \"collapse-controls\" }, { children: [_jsx(\"div\", Object.assign({ className: \"action-bar\" }, getToggleProps({}), { children: _jsx(\"img\", { src: collapseBtnImg, alt: \"\", style: { transform: `rotate(${isExpanded ? 180 : 0}deg)` } }) })), _jsx(\"section\", Object.assign({ className: \"collapse-panel-container\" }, getCollapseProps(), { children: _jsxs(\"div\", Object.assign({ className: \"panels\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"time-panel\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"segments\", ref: segmentsRef }, { children: [_jsx(TimeVerticalLine, { getRef: getRef, history: channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData, channelName: channels === null || channels === void 0 ? void 0 : channels[activeIndex].channelName, onClick: (index, startTime, endTime) => {\n const newChannels = [...channels];\n newChannels[activeIndex] = Object.assign(Object.assign({}, newChannels[activeIndex]), { index, startTime: moment(startTime).format(TimeFormat.params), endTime: moment(endTime).format(TimeFormat.params), tagId: '' });\n setChannels(newChannels);\n } }), getSegments(channels === null || channels === void 0 ? void 0 : channels[activeIndex].segmentData)] })), timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: {\n left: `${timeLinePosition}%`,\n } })), _jsx(TimeLine, {})] })), _jsxs(\"div\", Object.assign({ style: { display: 'flex' } }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left\" }, { children: [_jsxs(\"div\", Object.assign({ className: \"panels-left-title\" }, { children: [\"\\u89C6\\u9891\\u901A\\u9053(\", realChannels.length, \")\"] })), _jsx(\"div\", Object.assign({ className: \"panels-left-wrap\" }, { children: realChannels.map((item, index) => {\n return (_jsx(\"div\", Object.assign({ className: `${activeIndex == index\n ? 'panels-left-content-active'\n : ''} panels-left-content`, onClick: () => {\n setActiveIndex(item.channelIndex);\n // icc_ws直接播放\n if (item.player === 'icc_ws') {\n }\n } }, { children: _jsx(Tooltip, Object.assign({ title: `${item.channelName}` }, { children: `${item.channelName}` })) }), `${item.deviceId}${item.channelNum}`));\n }) }))] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\", style: { flex: 1, overflow: 'hidden', width: `100%` } }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: (channels === null || channels === void 0 ? void 0 : channels[activeIndex].tableList) || [], scroll: { y: 100, x: 920 }, pagination: false, rowKey: () => {\n return guid();\n }, rowClassName: (_, index) => { var _a; return index === ((_a = channels === null || channels === void 0 ? void 0 : channels[activeIndex]) === null || _a === void 0 ? void 0 : _a.index) ? 'active' : ''; } }) }))] }))] })) }))] }))) : null }));\n});\nconst TimeLine = () => {\n const getSplitLines = () => {\n const result = [];\n const step = 100 / 24;\n for (let i = 0; i < 25; i++) {\n const element = (_jsx(\"div\", Object.assign({ className: \"line\", style: { left: `${step * i}%` } }, { children: _jsx(\"div\", Object.assign({ className: \"number\" }, { children: i >= 10 ? i : '0' + i })) }), i));\n result.push(element);\n }\n return result;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"time-axis\" }, { children: [_jsx(\"div\", { className: \"axis\" }), _jsx(\"div\", Object.assign({ className: \"split-lines\" }, { children: getSplitLines() }))] })));\n};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, onClick, channelName, }) => {\n var _a;\n const mouse = useMouse(getRef());\n const { elementX, elementY, elementW, elementH } = mouse;\n const visible = elementX >= 0 && elementY >= 0 && elementX <= elementW && elementY <= elementH;\n // 计算elementX在整个宽度的占比,根据占比在一天中的比例算出具体时间,最后判断这个时间是否在某段视频中。在则显示提示时间。\n const percent = elementX / elementW;\n const time = moment(moment(history.start).valueOf() + percent * ONEDAY_MILL).format(TimeFormat.params);\n let flag = false, playStart = -1, playEnd = -1, index = -1;\n const now = moment(time).valueOf();\n for (let i = 0; i < ((_a = history.list) === null || _a === void 0 ? void 0 : _a.length); i++) {\n const begin = moment(history.list[i].beginTime).valueOf(), end = moment(history.list[i].endTime).valueOf();\n if (now >= begin && now <= end) {\n index = i;\n // url = history.list[i].playbackUrl;\n playStart = now;\n playEnd = end;\n flag = true;\n break;\n }\n }\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: `${channelName || ''} ${time}` }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: () => onClick(index, playStart, playEnd) }))) : (_jsx(_Fragment, {}));\n};\nconst getSegments = (props) => {\n const { list = [], start, end } = props;\n const startTime = moment(start);\n const endTime = moment(end);\n const total = endTime.diff(startTime, 'seconds'); // 总时间\n const result = list === null || list === void 0 ? void 0 : list.map((i) => {\n const itemStart = moment(i.beginTime).diff(startTime, 'seconds') > 0 ? moment(i.beginTime) : startTime;\n const itemEnd = moment(i.endTime);\n const itemTotal = itemEnd.diff(itemStart, 'seconds'); // 分段总时间\n const width = (itemTotal / total) * 100; // 分段时间占总时间百分比\n const left = (itemStart.diff(startTime, 'seconds') / total) * 100; // 分段其实时间\n return (_jsx(\"div\", { className: \"segment\", style: { width: `${width}%`, left: `${left < 0 ? 0 : left}%` } }, i.beginTime));\n });\n return result;\n};\nHistoryControlV2Panel.displayName = 'HistoryControlV2Panel';\nexport default HistoryControlV2Panel;\n"],"mappings":"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"}
|
|
@@ -83,6 +83,10 @@ export type IChannel = {
|
|
|
83
83
|
deviceId?: string;
|
|
84
84
|
// 设备名称
|
|
85
85
|
deviceName?: string;
|
|
86
|
+
// 设备code
|
|
87
|
+
deviceCode?: string;
|
|
88
|
+
deviceIp?: string;
|
|
89
|
+
devicePort?: string;
|
|
86
90
|
// 通道号
|
|
87
91
|
channelNum?: string;
|
|
88
92
|
// 通道名称
|
|
@@ -106,6 +110,8 @@ export type IChannel = {
|
|
|
106
110
|
/** 分段数据 */
|
|
107
111
|
segmentData?: GetSegmentsProps;
|
|
108
112
|
hasLabel?: boolean;
|
|
113
|
+
/** 主/子码流 */
|
|
114
|
+
streamType?: '0' | '1';
|
|
109
115
|
};
|
|
110
116
|
|
|
111
117
|
/** 表格数据 */
|
|
@@ -81,6 +81,8 @@ var getChannelData = function getChannelData(data, origin) {
|
|
|
81
81
|
var result = {
|
|
82
82
|
hkType: data.hkType,
|
|
83
83
|
deviceId: data.deviceId,
|
|
84
|
+
deviceCode: data.deviceCode,
|
|
85
|
+
streamType: data.streamType,
|
|
84
86
|
deviceName: data.deviceName,
|
|
85
87
|
channelNum: data.channelNum,
|
|
86
88
|
channelName: data.channelName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["DEFAULT_PLAY_PARAMS","channelNum","videoChannelId","tagId","index","url","player","startTime","endTime","deviceId","deviceName","channelName","tableList","segmentData","list","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","map","item","channelIndex","getChannelData","data","origin","_a","_b","_c","_d","_e","_f","_g","_h","start","moment","beginTime","startOf","end","endOf","result","hkType","playbackUrl","totalTimeUrl","getUrlTableData","code","hasLabel","i","totalSeconds","diff","format","TimeFormat","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl"],"sources":["history-control-v2/utils.js"],"sourcesContent":["import { TimeFormat, bytesToMegaBytes, secondsToString } from '../utils';\nimport moment from 'moment';\n/** 默认播放器参数 */\nexport const DEFAULT_PLAY_PARAMS = {\n channelNum: '',\n videoChannelId: '',\n tagId: '',\n index: -1,\n url: '',\n player: '',\n startTime: '',\n endTime: '',\n deviceId: '',\n deviceName: '',\n channelName: '',\n tableList: [],\n segmentData: {\n list: [],\n },\n};\nexport const DEFAULT_GRID = 1;\nexport const DEFAULT_ACTIVE = 0;\nexport const DEFAULT_CHANNELS = [...Array(25)].map((item, index) => {\n return {\n channelIndex: index,\n // 通道号\n channelNum: '',\n // 用来判断在下面列表的位置\n index: -1,\n // 如果没有 就不播放\n url: '',\n segmentData: {\n list: [],\n },\n };\n});\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getChannelData = (data, origin) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const segmentData = {\n list: data.list,\n start: moment(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day'),\n end: moment(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day'),\n };\n const result = {\n hkType: data.hkType,\n deviceId: data.deviceId,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n channelName: data.channelName,\n tagId: (origin === null || origin === void 0 ? void 0 : origin.tagId) || '',\n url: ((_b = (_a = data.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.playbackUrl) || data.totalTimeUrl,\n player: data === null || data === void 0 ? void 0 : data.player,\n videoChannelId: data.videoChannelId,\n tableList: getUrlTableData(data),\n segmentData,\n index: (origin === null || origin === void 0 ? void 0 : origin.tagId) ? -1 : 0,\n code: (_d = (_c = data.list) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.code,\n startTime: ((_f = (_e = data.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || origin.beginTime,\n endTime: ((_h = (_g = data.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.endTime) || origin.endTime,\n hasLabel: data.hasLabel,\n };\n return result;\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n var _a;\n const result = (_a = data.list) === null || _a === void 0 ? void 0 : _a.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelName: data.channelName,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n videoChannelId: data.videoChannelId,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || data.url,\n code: item.code,\n };\n });\n return result || [];\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;AACA;AACO,IAAMA,mBAAmB,GAAG;EAC/BC,UAAU,EAAE,EADmB;EAE/BC,cAAc,EAAE,EAFe;EAG/BC,KAAK,EAAE,EAHwB;EAI/BC,KAAK,EAAE,CAAC,CAJuB;EAK/BC,GAAG,EAAE,EAL0B;EAM/BC,MAAM,EAAE,EANuB;EAO/BC,SAAS,EAAE,EAPoB;EAQ/BC,OAAO,EAAE,EARsB;EAS/BC,QAAQ,EAAE,EATqB;EAU/BC,UAAU,EAAE,EAVmB;EAW/BC,WAAW,EAAE,EAXkB;EAY/BC,SAAS,EAAE,EAZoB;EAa/BC,WAAW,EAAE;IACTC,IAAI,EAAE;EADG;AAbkB,CAA5B;;AAiBA,IAAMC,YAAY,GAAG,CAArB;;AACA,IAAMC,cAAc,GAAG,CAAvB;;;AACA,IAAMC,gBAAgB,GAAG,mBAAIC,KAAK,CAAC,EAAD,CAAT,EAAeC,GAAf,CAAmB,UAACC,IAAD,EAAOhB,KAAP,EAAiB;EAChE,OAAO;IACHiB,YAAY,EAAEjB,KADX;IAEH;IACAH,UAAU,EAAE,EAHT;IAIH;IACAG,KAAK,EAAE,CAAC,CALL;IAMH;IACAC,GAAG,EAAE,EAPF;IAQHQ,WAAW,EAAE;MACTC,IAAI,EAAE;IADG;EARV,CAAP;AAYH,CAb+B,CAAzB;AAcP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAAOC,MAAP,EAAkB;EAC5C,IAAIC,EAAJ,EAAQC,EAAR,EAAYC,EAAZ,EAAgBC,EAAhB,EAAoBC,EAApB,EAAwBC,EAAxB,EAA4BC,EAA5B,EAAgCC,EAAhC;;EACA,IAAMnB,WAAW,GAAG;IAChBC,IAAI,EAAES,IAAI,CAACT,IADK;IAEhBmB,KAAK,EAAE,IAAAC,kBAAA,EAAOV,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACW,SAA9D,EAAyEC,OAAzE,CAAiF,KAAjF,CAFS;IAGhBC,GAAG,EAAE,IAAAH,kBAAA,EAAOV,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAAChB,OAA9D,EAAuE8B,KAAvE,CAA6E,KAA7E;EAHW,CAApB;EAKA,IAAMC,MAAM,GAAG;IACXC,MAAM,EAAEjB,IAAI,CAACiB,MADF;IAEX/B,QAAQ,EAAEc,IAAI,CAACd,QAFJ;
|
|
1
|
+
{"version":3,"file":"utils.js","names":["DEFAULT_PLAY_PARAMS","channelNum","videoChannelId","tagId","index","url","player","startTime","endTime","deviceId","deviceName","channelName","tableList","segmentData","list","DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","map","item","channelIndex","getChannelData","data","origin","_a","_b","_c","_d","_e","_f","_g","_h","start","moment","beginTime","startOf","end","endOf","result","hkType","deviceCode","streamType","playbackUrl","totalTimeUrl","getUrlTableData","code","hasLabel","i","totalSeconds","diff","format","TimeFormat","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl"],"sources":["history-control-v2/utils.js"],"sourcesContent":["import { TimeFormat, bytesToMegaBytes, secondsToString } from '../utils';\nimport moment from 'moment';\n/** 默认播放器参数 */\nexport const DEFAULT_PLAY_PARAMS = {\n channelNum: '',\n videoChannelId: '',\n tagId: '',\n index: -1,\n url: '',\n player: '',\n startTime: '',\n endTime: '',\n deviceId: '',\n deviceName: '',\n channelName: '',\n tableList: [],\n segmentData: {\n list: [],\n },\n};\nexport const DEFAULT_GRID = 1;\nexport const DEFAULT_ACTIVE = 0;\nexport const DEFAULT_CHANNELS = [...Array(25)].map((item, index) => {\n return {\n channelIndex: index,\n // 通道号\n channelNum: '',\n // 用来判断在下面列表的位置\n index: -1,\n // 如果没有 就不播放\n url: '',\n segmentData: {\n list: [],\n },\n };\n});\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getChannelData = (data, origin) => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n const segmentData = {\n list: data.list,\n start: moment(origin === null || origin === void 0 ? void 0 : origin.beginTime).startOf('day'),\n end: moment(origin === null || origin === void 0 ? void 0 : origin.endTime).endOf('day'),\n };\n const result = {\n hkType: data.hkType,\n deviceId: data.deviceId,\n deviceCode: data.deviceCode,\n streamType: data.streamType,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n channelName: data.channelName,\n tagId: (origin === null || origin === void 0 ? void 0 : origin.tagId) || '',\n url: ((_b = (_a = data.list) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.playbackUrl) || data.totalTimeUrl,\n player: data === null || data === void 0 ? void 0 : data.player,\n videoChannelId: data.videoChannelId,\n tableList: getUrlTableData(data),\n segmentData,\n index: (origin === null || origin === void 0 ? void 0 : origin.tagId) ? -1 : 0,\n code: (_d = (_c = data.list) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.code,\n startTime: ((_f = (_e = data.list) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.beginTime) || origin.beginTime,\n endTime: ((_h = (_g = data.list) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.endTime) || origin.endTime,\n hasLabel: data.hasLabel,\n };\n return result;\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n var _a;\n const result = (_a = data.list) === null || _a === void 0 ? void 0 : _a.map((item, i) => {\n const beginTime = moment(item.beginTime);\n const endTime = moment(item.endTime);\n const totalSeconds = moment(endTime).diff(moment(beginTime), 'seconds');\n return {\n index: i + 1,\n hkType: data.hkType,\n deviceId: data.deviceId,\n channelName: data.channelName,\n deviceName: data.deviceName,\n channelNum: data.channelNum,\n videoChannelId: data.videoChannelId,\n beginTime: beginTime.format(TimeFormat.params),\n endTime: endTime.format(TimeFormat.params),\n size: bytesToMegaBytes(item.size),\n duration: secondsToString(totalSeconds),\n downloadUrl: '',\n url: item.playbackUrl || data.url,\n code: item.code,\n };\n });\n return result || [];\n};\n"],"mappings":"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"}
|
|
@@ -9,6 +9,18 @@ export declare type HistoryPlayerHandle = {
|
|
|
9
9
|
interface VtxPlayerProps {
|
|
10
10
|
/** 视频流地址 */
|
|
11
11
|
url: string;
|
|
12
|
+
/** 服务器地址 */
|
|
13
|
+
deviceIp?: string;
|
|
14
|
+
/** 服务器端口 */
|
|
15
|
+
devicePort?: string;
|
|
16
|
+
/** 主/子码流 */
|
|
17
|
+
streamType: '0' | '1';
|
|
18
|
+
/** 通道号 */
|
|
19
|
+
channelNum: string;
|
|
20
|
+
/** 设备Id */
|
|
21
|
+
deviceId: string;
|
|
22
|
+
/** 设备Code */
|
|
23
|
+
deviceCode: string;
|
|
12
24
|
/** 视频流格式,如果为空则根据url自行判断 */
|
|
13
25
|
type?: VideoType;
|
|
14
26
|
/** 是否使用代理播放 */
|
|
@@ -13,6 +13,8 @@ var _react = require("react");
|
|
|
13
13
|
|
|
14
14
|
var _controls = require("../controls");
|
|
15
15
|
|
|
16
|
+
var _api = _interopRequireDefault(require("../icc/api"));
|
|
17
|
+
|
|
16
18
|
var _icons = require("../icons");
|
|
17
19
|
|
|
18
20
|
var _player = _interopRequireDefault(require("../player"));
|
|
@@ -77,6 +79,12 @@ var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P
|
|
|
77
79
|
|
|
78
80
|
var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
79
81
|
var url = props.url,
|
|
82
|
+
deviceId = props.deviceId,
|
|
83
|
+
deviceIp = props.deviceIp,
|
|
84
|
+
devicePort = props.devicePort,
|
|
85
|
+
channelNum = props.channelNum,
|
|
86
|
+
deviceCode = props.deviceCode,
|
|
87
|
+
streamType = props.streamType,
|
|
80
88
|
type = props.type,
|
|
81
89
|
enableAgent = props.enableAgent,
|
|
82
90
|
_props$width = props.width,
|
|
@@ -141,23 +149,46 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
141
149
|
(0, _react.useEffect)(function () {
|
|
142
150
|
var container = containerRef.current;
|
|
143
151
|
if (!url || !container) return;
|
|
144
|
-
var player =
|
|
145
|
-
url: url,
|
|
146
|
-
enableAgent: enableAgent,
|
|
147
|
-
container: container,
|
|
148
|
-
live: false,
|
|
149
|
-
startTime: startTime,
|
|
150
|
-
endTime: endTime,
|
|
151
|
-
type: type
|
|
152
|
-
});
|
|
153
|
-
playerRef.current = player;
|
|
152
|
+
var player = null;
|
|
154
153
|
|
|
155
154
|
(function () {
|
|
156
155
|
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
156
|
+
var token;
|
|
157
157
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
158
158
|
while (1) {
|
|
159
159
|
switch (_context.prev = _context.next) {
|
|
160
160
|
case 0:
|
|
161
|
+
if (!(type === 'icc_ws')) {
|
|
162
|
+
_context.next = 5;
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
_context.next = 3;
|
|
167
|
+
return _api["default"].getToken({
|
|
168
|
+
deviceId: deviceId
|
|
169
|
+
});
|
|
170
|
+
|
|
171
|
+
case 3:
|
|
172
|
+
token = _context.sent;
|
|
173
|
+
localStorage.setItem('accessToken', token);
|
|
174
|
+
|
|
175
|
+
case 5:
|
|
176
|
+
player = new _player["default"]({
|
|
177
|
+
url: url,
|
|
178
|
+
devicePort: devicePort,
|
|
179
|
+
deviceIp: deviceIp,
|
|
180
|
+
channelNum: channelNum,
|
|
181
|
+
deviceCode: deviceCode,
|
|
182
|
+
deviceId: deviceId,
|
|
183
|
+
streamType: streamType,
|
|
184
|
+
enableAgent: enableAgent,
|
|
185
|
+
container: container,
|
|
186
|
+
live: false,
|
|
187
|
+
startTime: startTime,
|
|
188
|
+
endTime: endTime,
|
|
189
|
+
type: type
|
|
190
|
+
});
|
|
191
|
+
playerRef.current = player;
|
|
161
192
|
player.onTimeUpdate(function (currentTime, speed) {
|
|
162
193
|
if (!state.loading) {
|
|
163
194
|
setState({
|
|
@@ -167,7 +198,7 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
167
198
|
});
|
|
168
199
|
}
|
|
169
200
|
});
|
|
170
|
-
_context.next =
|
|
201
|
+
_context.next = 10;
|
|
171
202
|
return setState({
|
|
172
203
|
loading: true,
|
|
173
204
|
error: false,
|
|
@@ -176,7 +207,7 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
176
207
|
}
|
|
177
208
|
});
|
|
178
209
|
|
|
179
|
-
case
|
|
210
|
+
case 10:
|
|
180
211
|
player.playBack().then(function () {
|
|
181
212
|
return setState({
|
|
182
213
|
play: true,
|
|
@@ -192,7 +223,7 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
192
223
|
});
|
|
193
224
|
});
|
|
194
225
|
|
|
195
|
-
case
|
|
226
|
+
case 11:
|
|
196
227
|
case "end":
|
|
197
228
|
return _context.stop();
|
|
198
229
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryPlayer","forwardRef","props","ref","url","type","enableAgent","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","screenshot","showInfo","info","extraButton","controlVisible","undefined","totalTime","moment","diff","containerRef","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","controls","state","setState","useImperativeHandle","seekTo","time","player","current","useEffect","container","Player","live","onTimeUpdate","speed","Math","floor","playBack","destroy","add","format","TimeFormat","params","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","secondsToTime","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport Player from '../player';\nimport { TimeFormat, guidGenerator, secondsToTime } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Slider, Space } from 'antd';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, screenshot, showInfo = false, info = [], extraButton, controlVisible = undefined, } = props;\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n currentTime: 0,\n progress: 0,\n controls: {\n progress: true,\n },\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n },\n };\n });\n useEffect(() => {\n const container = containerRef.current;\n if (!url || !container)\n return;\n const player = new Player({\n url,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n });\n playerRef.current = player;\n (() => __awaiter(void 0, void 0, void 0, function* () {\n player.onTimeUpdate((currentTime, speed) => {\n if (!state.loading) {\n setState({\n currentTime: Math.floor(currentTime),\n progress: Math.floor((currentTime / totalTime) * 100),\n speed,\n });\n }\n });\n yield setState({\n loading: true,\n error: false,\n controls: { progress: player.type === 'hk_ws' || player.type === 'hkcar_ws' },\n });\n player\n .playBack()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n }))();\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, startTime, endTime]);\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime > 0\n ? moment(startTime)\n .add(state.currentTime, 'seconds')\n .format(TimeFormat.params)\n : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n /** 进度条控制器 */\n const handleSlider = (value) => {\n const currentTime = Math.floor((totalTime * value) / 100);\n const player = playerRef.current;\n setState({ progress: value });\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), _jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: secondsToTime(state.currentTime) })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", secondsToTime(totalTime)] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), _jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","HistoryPlayer","forwardRef","props","ref","url","deviceId","deviceIp","devicePort","channelNum","deviceCode","streamType","type","enableAgent","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","screenshot","showInfo","info","extraButton","controlVisible","undefined","totalTime","moment","diff","containerRef","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","currentTime","progress","controls","state","setState","useImperativeHandle","seekTo","time","player","current","useEffect","container","API","getToken","token","localStorage","setItem","Player","live","onTimeUpdate","speed","Math","floor","playBack","destroy","add","format","TimeFormat","params","handleCapture","capture","stopPropagation","handleFullScreen","resize","handleSlider","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","opacity","PauseIcon","onClick","PlayIcon","secondsToTime","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-player/index.js"],"sourcesContent":["var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { InfoPanel, LoadingState, SpeedControl, VolumeControl } from '../controls';\nimport API from '../icc/api';\nimport { CaptureIcon, ExitFullScreenIcon, FullScreenIcon, PauseIcon, PlayIcon } from '../icons';\nimport Player from '../player';\nimport { TimeFormat, guidGenerator, secondsToTime } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Slider, Space } from 'antd';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport moment from 'moment';\nexport const HistoryPlayer = forwardRef((props, ref) => {\n const { url, deviceId, deviceIp, devicePort, channelNum, deviceCode, streamType, type, enableAgent, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, screenshot, showInfo = false, info = [], extraButton, controlVisible = undefined, } = props;\n const totalTime = moment(endTime).diff(moment(startTime), 'seconds');\n const containerRef = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n currentTime: 0,\n progress: 0,\n controls: {\n progress: true,\n },\n });\n useImperativeHandle(ref, () => {\n return {\n seekTo: (time) => {\n const player = playerRef.current;\n if (player) {\n const currentTime = moment(time).diff(moment(startTime), 'seconds');\n return player.seekTo(currentTime);\n }\n else {\n return Promise.reject();\n }\n },\n };\n });\n useEffect(() => {\n const container = containerRef.current;\n if (!url || !container)\n return;\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 = new Player({\n url,\n devicePort,\n deviceIp,\n channelNum,\n deviceCode,\n deviceId,\n streamType,\n enableAgent,\n container,\n live: false,\n startTime,\n endTime,\n type,\n });\n playerRef.current = player;\n player.onTimeUpdate((currentTime, speed) => {\n if (!state.loading) {\n setState({\n currentTime: Math.floor(currentTime),\n progress: Math.floor((currentTime / totalTime) * 100),\n speed,\n });\n }\n });\n yield setState({\n loading: true,\n error: false,\n controls: { progress: player.type === 'hk_ws' || player.type === 'hkcar_ws' },\n });\n player\n .playBack()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n }))();\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, startTime, endTime]);\n useEffect(() => {\n if (!state.loading) {\n onTimeChange &&\n onTimeChange(state.currentTime > 0\n ? moment(startTime)\n .add(state.currentTime, 'seconds')\n .format(TimeFormat.params)\n : '', state.speed);\n }\n }, [state.currentTime, state.speed]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName, screenshot);\n e.stopPropagation();\n };\n /** 全屏方法 */\n const handleFullScreen = (e) => {\n toggleFullscreen();\n const player = playerRef.current;\n player && player.resize();\n e.stopPropagation();\n };\n /** 进度条控制器 */\n const handleSlider = (value) => {\n const currentTime = Math.floor((totalTime * value) / 100);\n const player = playerRef.current;\n setState({ progress: value });\n player === null || player === void 0 ? void 0 : player.seekTo(currentTime);\n };\n /** 暂停方法 */\n const handlePause = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.pause(() => {\n setState({ play: false });\n });\n };\n /** 恢复播放方法 */\n const handleResume = () => {\n const player = playerRef.current;\n player === null || player === void 0 ? void 0 : player.resume(() => {\n setState({ play: true });\n });\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-player\", ref: wrapRef, style: { width, height } }, { children: [_jsx(\"div\", { ref: containerRef, style: { height: '100%', width: '100%' }, id: state.id }), state.loading && _jsx(LoadingState, {}), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsxs(\"div\", Object.assign({ className: \"controls\", ref: controlsRef, style: { bottom: controlBottom, opacity: controlVisible ? 1 : undefined } }, { children: [state.play ? (_jsx(PauseIcon, { onClick: handlePause })) : (_jsx(PlayIcon, { onClick: handleResume })), _jsxs(\"div\", Object.assign({ className: \"time\" }, { children: [_jsx(\"span\", Object.assign({ className: \"current\" }, { children: secondsToTime(state.currentTime) })), _jsxs(\"span\", Object.assign({ className: \"total\" }, { children: [\"/\", secondsToTime(totalTime)] }))] })), _jsx(\"div\", Object.assign({ className: \"slider\" }, { children: _jsx(Slider, { disabled: !state.controls.progress, tipFormatter: null, onChange: handleSlider, value: state.progress }) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, defaultValue: 0, container: controlsRef.current }), _jsx(SpeedControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), extraButton ? extraButton : null, isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
export default PlayerManager;
|
|
2
|
+
/**
|
|
3
|
+
* WSPlayer是核心组件
|
|
4
|
+
* API 封装了接口
|
|
5
|
+
*/
|
|
6
|
+
declare class PlayerManager {
|
|
7
|
+
constructor(opt: any);
|
|
8
|
+
el: any;
|
|
9
|
+
realPlayer: any;
|
|
10
|
+
recordPlayer: any;
|
|
11
|
+
player: any;
|
|
12
|
+
type: string;
|
|
13
|
+
playNum: number;
|
|
14
|
+
playIndex: number;
|
|
15
|
+
currentChannelId: string;
|
|
16
|
+
recordList: any[];
|
|
17
|
+
serverIp: any;
|
|
18
|
+
init(opt: any): void;
|
|
19
|
+
/**
|
|
20
|
+
* 初始化实时预览播放器
|
|
21
|
+
*/
|
|
22
|
+
initRealPlayer(opt: any): void;
|
|
23
|
+
/**
|
|
24
|
+
* 初始化录像回放播放器
|
|
25
|
+
*/
|
|
26
|
+
initRecordPlayer(opt: any): void;
|
|
27
|
+
/**
|
|
28
|
+
* 播放实时预览视频
|
|
29
|
+
* @param opt.channelList: {Array<Object>} 必填,通道列表
|
|
30
|
+
* @param opt.streamType: {Number|String} 选填,码流类型,不填默认播放辅码流1,若不存在辅码流1,则自动切换到主码流 1-主码流 2-辅码流1 3-辅码流2
|
|
31
|
+
* @param opt.windowIndex: {Number} 选填,指定从哪个窗口开始播放。不填默认从选中的窗口开始播放
|
|
32
|
+
*/
|
|
33
|
+
playRealVideo(opt: any): void;
|
|
34
|
+
/**
|
|
35
|
+
* 播放录像回放
|
|
36
|
+
* @param opt.channelList {Array<Object>} 通道集合 必填
|
|
37
|
+
* @param opt.startTime {String|Number} 开始时间 必选 timestamp到秒
|
|
38
|
+
* @param opt.endTime {String|Number} 结束时间 必选 timestamp到秒
|
|
39
|
+
* @param opt.recordSource {String|Number} 录像来源 必选 2表示设备录像 3表示中心录像
|
|
40
|
+
* @param opt.streamType {String|Number} 码流类型 可选
|
|
41
|
+
* @param opt.recordType {String|Number} 录像类型 可选
|
|
42
|
+
*/
|
|
43
|
+
playRecordVideo(opt: any): void;
|
|
44
|
+
/**
|
|
45
|
+
* 录像暂停
|
|
46
|
+
* 只有正在播放的录像调用才有效
|
|
47
|
+
*/
|
|
48
|
+
pause(): void;
|
|
49
|
+
/**
|
|
50
|
+
* 录像暂停后播放
|
|
51
|
+
* 只有暂停后的录像调用才有效
|
|
52
|
+
*/
|
|
53
|
+
play(): void;
|
|
54
|
+
/**
|
|
55
|
+
* 倍速播放
|
|
56
|
+
* @param {number} speed 速率 0.125 0.25 0.5 1 2 4 8 共7种速率
|
|
57
|
+
*/
|
|
58
|
+
playSpeed(speed: number): void;
|
|
59
|
+
/**
|
|
60
|
+
* 关闭播放器
|
|
61
|
+
* @param {number} index 可选,关闭指定索引的窗口的播放器,不传则表示关闭所有播放器
|
|
62
|
+
*/
|
|
63
|
+
close(index: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* 设置全屏
|
|
66
|
+
*/
|
|
67
|
+
setFullScreen(): void;
|
|
68
|
+
/**
|
|
69
|
+
* 设置窗口自适应还是拉伸
|
|
70
|
+
* @param {string} playerAdapter selfAdaption 自适应 | stretching 拉伸
|
|
71
|
+
*/
|
|
72
|
+
setPlayerAdapter(playerAdapter: string): void;
|
|
73
|
+
/**
|
|
74
|
+
* 控制视频播放器显示的路数: 1 4 9 16 25,不会超过最大显示路数
|
|
75
|
+
* @param {number} number
|
|
76
|
+
*/
|
|
77
|
+
setPlayerNum(number: number): void;
|
|
78
|
+
/**
|
|
79
|
+
* 设置选中的播放器的索引
|
|
80
|
+
* @param {number} index
|
|
81
|
+
*/
|
|
82
|
+
setSelectIndex(index: number): void;
|
|
83
|
+
/**
|
|
84
|
+
* 录像跳转播放
|
|
85
|
+
* @param {string} time HH:mm:ss格式
|
|
86
|
+
*/
|
|
87
|
+
jumpPlayByTime(time: string): void;
|
|
88
|
+
__receiveMessageFromWSPlayer(method: any, data: any): void;
|
|
89
|
+
}
|