@vtx/player 0.0.21 → 0.0.23

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.
@@ -4,6 +4,8 @@ export interface GetPreviewUrlResp {
4
4
  apiUrl: string;
5
5
  /** 地址 */
6
6
  url: string;
7
+ /** 是否开启代理 */
8
+ enableAgent: boolean;
7
9
  /** 设备名称 */
8
10
  deviceName: string;
9
11
  /** 设备ID */
@@ -36,6 +38,8 @@ export interface HistoryUrlItem {
36
38
  endTime: string;
37
39
  /** 回放地址 */
38
40
  playbackUrl: string | null;
41
+ /** 是否开启代理 */
42
+ enableAgent: boolean;
39
43
  /** 大小 */
40
44
  size: number;
41
45
  }
@@ -43,6 +47,8 @@ export interface HistoryUrlItem {
43
47
  export interface GetHistoryUrlResp {
44
48
  /** 设备名称 */
45
49
  deviceName: string;
50
+ /** 是否代理播放地址 */
51
+ enableAgent: boolean;
46
52
  /** 通道名称 */
47
53
  channelName: string;
48
54
  /** url列表 */
@@ -30,6 +30,8 @@ export declare type UrlsTableItemType = {
30
30
  deviceName: string;
31
31
  /** 通道名称 */
32
32
  channelName: string;
33
+ /** 是否代理视频地址 */
34
+ enableAgent: boolean;
33
35
  /** 开始时间 */
34
36
  beginTime: string;
35
37
  /** 结束时间 */
@@ -57,6 +57,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
57
  var DEFAULT_PLAY_PARAMS = {
58
58
  index: -1,
59
59
  url: '',
60
+ enableAgent: false,
60
61
  startTime: '',
61
62
  endTime: ''
62
63
  };
@@ -133,7 +134,11 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
133
134
  end: (0, _moment["default"])((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day')
134
135
  };
135
136
  setState({
136
- tableData: tableData,
137
+ tableData: tableData.map(function (item) {
138
+ return Object.assign(Object.assign({}, item), {
139
+ enableAgent: result.enableAgent || false
140
+ });
141
+ }),
137
142
  segmentData: segmentData,
138
143
  name: "".concat(result.deviceName, "-").concat(result.channelName),
139
144
  totalUrl: result.totalTimeUrl
@@ -148,6 +153,7 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
148
153
  totalUrl: result.totalTimeUrl,
149
154
  playParams: {
150
155
  index: 0,
156
+ enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,
151
157
  url: result.totalTimeUrl,
152
158
  startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',
153
159
  endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || ''
@@ -219,6 +225,7 @@ var HistoryControl = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
219
225
  playParams: {
220
226
  index: index,
221
227
  url: url,
228
+ enableAgent: record.enableAgent || false,
222
229
  startTime: record.beginTime,
223
230
  endTime: record.endTime
224
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","startTime","endTime","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","onVideoClose","info","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","loading","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useSetState","expand","name","tableData","segmentData","list","totalUrl","timeLinePosition","playParams","state","setState","useImperativeHandle","load","channel","JSON","stringify","useEffect","then","result","_a","_b","_c","_d","Array","isArray","getUrlTableData","start","moment","beginTime","startOf","end","endOf","deviceName","channelName","totalTimeUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","Object","assign","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","style","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","map","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","params","flag","playStart","playEnd","now","begin","playbackUrl","playUrl"],"sources":["history-control/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrl } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const [state, setState] = useSetState({\n expand: true,\n name: '',\n tableData: [],\n segmentData: { list: [] },\n totalUrl: '',\n timeLinePosition: -1,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {\n setState({ channel, timeLinePosition: -1 });\n }\n },\n };\n });\n useEffect(() => {\n if (state.channel) {\n runAsync(state.channel).then((result) => {\n var _a, _b, _c, _d;\n // 如果没有list,只有url,则直接播放url\n if (Array.isArray(result.list)) {\n const tableData = getUrlTableData(result);\n const segmentData = {\n list: result.list,\n start: moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),\n end: moment((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day'),\n };\n setState({\n tableData,\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n url: result.totalTimeUrl,\n startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',\n endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',\n },\n });\n }\n else {\n message.info('未查询到视频');\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n }\n });\n return () => {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n };\n }\n }, [state.channel]);\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleClose = () => {\n setState({ channel: undefined, timeLinePosition: -1 });\n onVideoClose && onVideoClose();\n };\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 60,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n const active = state.playParams.index === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n setState({\n playParams: DEFAULT_PLAY_PARAMS,\n timeLinePosition: -1,\n });\n onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n setState({\n playParams: {\n index,\n url,\n startTime: record.beginTime,\n endTime: record.endTime,\n },\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 // },\n // {\n // title: '通道名称',\n // dataIndex: 'channelName',\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: 120,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 100,\n dataIndex: 'size',\n },\n ];\n const handleTimeChange = (time, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\n // 计算播放时间占起始时间当日的百分比\n const progress = (moment(time).diff(moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') /\n (24 * 60 * 60)) *\n 100;\n setState({ timeLinePosition: progress });\n };\n const getRef = () => {\n return segmentsRef.current;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-control\", style: { width, height } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: state.playParams.url && (_jsx(HistoryPlayer, Object.assign({}, state.playParams, { controlBottom: isExpanded ? 235 : 0, onTimeChange: handleTimeChange, showInfo: showInfo, info: info }))) })), state.tableData && state.tableData.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: state.segmentData, totalUrl: state.totalUrl, setState: setState }), getSegments(state.segmentData)] })), state.timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: { left: `${state.timeLinePosition}%` } })), _jsx(TimeLine, {})] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\" }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: state.tableData, scroll: { y: 100 }, pagination: false, rowClassName: (_, index) => index === state.playParams.index ? 'active' : '' }) }))] })) }))] }))), _jsx(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: _jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })) }))] })));\n});\nHistoryControl.displayName = 'HistoryControl';\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 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.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};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, totalUrl, setState, }) => {\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, url, 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 const onClick = () => {\n const playUrl = url || totalUrl;\n setState({\n playParams: {\n index,\n url: playUrl,\n startTime: playStart,\n endTime: playEnd,\n },\n });\n };\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: time }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }))) : (_jsx(_Fragment, {}));\n};\nexport default HistoryControl;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_PLAY_PARAMS","index","url","enableAgent","startTime","endTime","HistoryControl","forwardRef","props","ref","width","height","onExpandChange","onTimeChange","showInfo","onVideoClose","info","segmentsRef","useRef","useRequest","getHistoryUrl","manual","runAsync","loading","useCollapse","defaultExpanded","getCollapseProps","getToggleProps","isExpanded","useSetState","expand","name","tableData","segmentData","list","totalUrl","timeLinePosition","playParams","state","setState","useImperativeHandle","load","channel","JSON","stringify","useEffect","then","result","_a","_b","_c","_d","Array","isArray","getUrlTableData","start","moment","beginTime","startOf","end","endOf","map","item","Object","assign","deviceName","channelName","totalTimeUrl","message","handleExpand","handleClose","undefined","columns","title","dataIndex","key","render","_","record","active","_jsx","Button","className","onClick","children","_jsxs","_Fragment","VideoCloseIcon","VideoPlayIcon","handleTimeChange","time","speed","progress","diff","getRef","current","style","PlayerHeader","onClose","Spin","spinning","size","HistoryPlayer","controlBottom","length","src","collapseBtnImg","alt","transform","TimeVerticalLine","history","getSegments","TimePositionIcon","left","TimeLine","Table","dataSource","scroll","y","pagination","rowClassName","Space","align","Tooltip","FoldIcon","ExpandIcon","displayName","getSplitLines","step","i","element","push","total","itemStart","itemEnd","itemTotal","ONEDAY_MILL","mouse","useMouse","elementX","elementY","elementW","elementH","visible","percent","valueOf","format","TimeFormat","params","flag","playStart","playEnd","now","begin","playbackUrl","playUrl"],"sources":["history-control/index.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport useCollapse from 'react-collapsed';\nimport { getHistoryUrl } from '../api';\nimport { PlayerHeader } from '../controls';\nimport HistoryPlayer from '../history-player';\nimport { ExpandIcon, FoldIcon, TimePositionIcon, VideoCloseIcon, VideoPlayIcon } from '../icons';\nimport { TimeFormat, getUrlTableData } from '../utils';\nimport { useMouse, useRequest, useSetState } from 'ahooks';\n// import { Button, Space, Table, Tooltip } from 'antd';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport Table from 'antd/lib/table';\nimport Tooltip from 'antd/lib/tooltip';\nimport moment from 'moment';\nimport collapseBtnImg from './images/collapse.png';\n/** 默认播放器参数 */\nconst DEFAULT_PLAY_PARAMS = {\n index: -1,\n url: '',\n enableAgent: false,\n startTime: '',\n endTime: '',\n};\n/**\n * 历史视频控制器\n */\nexport const HistoryControl = forwardRef((props, ref) => {\n const { width = '100%', height = '100%', onExpandChange, onTimeChange, showInfo = false, onVideoClose, info = [], } = props;\n const segmentsRef = useRef(null);\n const { runAsync, loading } = useRequest(getHistoryUrl, {\n manual: true,\n });\n const { getCollapseProps, getToggleProps, isExpanded } = useCollapse({\n defaultExpanded: true, // 默认展开\n });\n const [state, setState] = useSetState({\n expand: true,\n name: '',\n tableData: [],\n segmentData: { list: [] },\n totalUrl: '',\n timeLinePosition: -1,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n useImperativeHandle(ref, () => {\n return {\n load: (channel) => {\n if (JSON.stringify(channel) !== JSON.stringify(state.channel)) {\n setState({ channel, timeLinePosition: -1 });\n }\n },\n };\n });\n useEffect(() => {\n if (state.channel) {\n runAsync(state.channel).then((result) => {\n var _a, _b, _c, _d;\n // 如果没有list,只有url,则直接播放url\n if (Array.isArray(result.list)) {\n const tableData = getUrlTableData(result);\n const segmentData = {\n list: result.list,\n start: moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'),\n end: moment((_b = state.channel) === null || _b === void 0 ? void 0 : _b.endTime).endOf('day'),\n };\n setState({\n tableData: tableData.map(item => (Object.assign(Object.assign({}, item), { enableAgent: result.enableAgent || false }))),\n segmentData,\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n });\n }\n else if (result.totalTimeUrl) {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: `${result.deviceName}-${result.channelName}`,\n totalUrl: result.totalTimeUrl,\n playParams: {\n index: 0,\n enableAgent: (result === null || result === void 0 ? void 0 : result.enableAgent) || false,\n url: result.totalTimeUrl,\n startTime: ((_c = state.channel) === null || _c === void 0 ? void 0 : _c.beginTime) || '',\n endTime: ((_d = state.channel) === null || _d === void 0 ? void 0 : _d.endTime) || '',\n },\n });\n }\n else {\n message.info('未查询到视频');\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n }\n });\n return () => {\n setState({\n tableData: [],\n segmentData: { list: [] },\n name: ``,\n playParams: DEFAULT_PLAY_PARAMS,\n });\n };\n }\n }, [state.channel]);\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const handleClose = () => {\n setState({ channel: undefined, timeLinePosition: -1 });\n onVideoClose && onVideoClose();\n };\n const columns = [\n {\n title: '序号',\n dataIndex: 'index',\n width: 60,\n },\n {\n title: '播放视频',\n key: 'play',\n width: 90,\n render: (_, record, index) => {\n const active = state.playParams.index === index;\n return (_jsx(Button, Object.assign({ className: `play-btn ${active ? 'active' : ''}`, onClick: () => {\n if (active) {\n setState({\n playParams: DEFAULT_PLAY_PARAMS,\n timeLinePosition: -1,\n });\n onVideoClose && onVideoClose();\n }\n else {\n const url = record.url || state.totalUrl;\n setState({\n playParams: {\n index,\n url,\n enableAgent: record.enableAgent || false,\n startTime: record.beginTime,\n endTime: record.endTime,\n },\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 // },\n // {\n // title: '通道名称',\n // dataIndex: 'channelName',\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: 120,\n dataIndex: 'duration',\n },\n {\n title: '视频大小',\n width: 100,\n dataIndex: 'size',\n },\n ];\n const handleTimeChange = (time, speed) => {\n var _a;\n onTimeChange && onTimeChange(time, speed);\n // 计算播放时间占起始时间当日的百分比\n const progress = (moment(time).diff(moment((_a = state.channel) === null || _a === void 0 ? void 0 : _a.beginTime).startOf('day'), 'seconds') /\n (24 * 60 * 60)) *\n 100;\n setState({ timeLinePosition: progress });\n };\n const getRef = () => {\n return segmentsRef.current;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-history-control\", style: { width, height } }, { children: [state.name && _jsx(PlayerHeader, { name: state.name, onClose: handleClose }), _jsx(Spin, { spinning: loading, className: \"vtx-spin\", size: \"large\" }), _jsx(\"div\", Object.assign({ className: \"player-container\" }, { children: state.playParams.url && (_jsx(HistoryPlayer, Object.assign({}, state.playParams, { controlBottom: isExpanded ? 235 : 0, onTimeChange: handleTimeChange, showInfo: showInfo, info: info }))) })), state.tableData && state.tableData.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: state.segmentData, totalUrl: state.totalUrl, setState: setState }), getSegments(state.segmentData)] })), state.timeLinePosition >= 0 && (_jsx(TimePositionIcon, { className: \"time-line-icon\", style: { left: `${state.timeLinePosition}%` } })), _jsx(TimeLine, {})] })), _jsx(\"div\", Object.assign({ className: \"urls-panel\" }, { children: _jsx(Table, { className: \"history-url-table\", columns: columns, dataSource: state.tableData, scroll: { y: 100 }, pagination: false, rowClassName: (_, index) => index === state.playParams.index ? 'active' : '' }) }))] })) }))] }))), _jsx(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: _jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })) }))] })));\n});\nHistoryControl.displayName = 'HistoryControl';\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 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.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};\nconst ONEDAY_MILL = 24 * 60 * 60 * 1000;\nconst TimeVerticalLine = ({ getRef, history, totalUrl, setState, }) => {\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, url, 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 const onClick = () => {\n const playUrl = url || totalUrl;\n setState({\n playParams: {\n index,\n url: playUrl,\n startTime: playStart,\n endTime: playEnd,\n },\n });\n };\n return visible ? (flag ? (_jsx(Tooltip, Object.assign({ title: time }, { children: _jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }) }))) : (_jsx(\"div\", { className: \"timeline\", style: { left: elementX }, onClick: onClick }))) : (_jsx(_Fragment, {}));\n};\nexport default HistoryControl;\n"],"mappings":"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"}
@@ -11,6 +11,8 @@ interface VtxPlayerProps {
11
11
  url: string;
12
12
  /** 视频流格式,如果为空则根据url自行判断 */
13
13
  type?: VideoType;
14
+ /** 是否使用代理播放 */
15
+ enableAgent: boolean;
14
16
  /** 开始时间,格式为:YYYY-MM-DD HH:mm:ss */
15
17
  startTime: string;
16
18
  /** 结束时间,格式为:YYYY-MM-DD HH:mm:ss */
@@ -42,6 +42,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
42
42
  var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
43
43
  var url = props.url,
44
44
  type = props.type,
45
+ enableAgent = props.enableAgent,
45
46
  _props$width = props.width,
46
47
  width = _props$width === void 0 ? '100%' : _props$width,
47
48
  _props$height = props.height,
@@ -102,6 +103,7 @@ var HistoryPlayer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
102
103
  if (!url || !container) return;
103
104
  var player = new _player["default"]({
104
105
  url: url,
106
+ enableAgent: enableAgent,
105
107
  container: container,
106
108
  live: false,
107
109
  startTime: startTime,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["HistoryPlayer","forwardRef","props","ref","url","type","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","showInfo","info","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","Promise","reject","useEffect","container","Player","live","console","log","playBack","then","onTimeUpdate","speed","Math","floor","add","format","TimeFormat","params","destroy","handleCapture","e","capture","stopPropagation","handleFullScreen","resize","handleSlider","value","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","PauseIcon","onClick","PlayIcon","secondsToTime","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-player/index.js"],"sourcesContent":["import { 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, width = '100%', height = '100%', captureName, controlBottom = 0, startTime, endTime, onTimeChange, showInfo = false, info = [], } = 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({ url, container, live: false, startTime, endTime, type });\n playerRef.current = player;\n setState({ loading: true, controls: { progress: player.type === 'hk_ws' } });\n console.log(player.type);\n player\n .playBack()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((currentTime, speed) => {\n setState({ currentTime, progress: Math.floor((currentTime / totalTime) * 100) });\n onTimeChange &&\n onTimeChange(moment(startTime).add(currentTime, 'seconds').format(TimeFormat.params), speed);\n });\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, startTime, endTime]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName);\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 } }, { 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 }), _jsx(CaptureIcon, { onClick: handleCapture }), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;;;;;;;AACO,IAAMA,aAAa,gBAAG,IAAAC,iBAAA,EAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;EACpD,IAAQC,GAAR,GAAuJF,KAAvJ,CAAQE,GAAR;EAAA,IAAaC,IAAb,GAAuJH,KAAvJ,CAAaG,IAAb;EAAA,mBAAuJH,KAAvJ,CAAmBI,KAAnB;EAAA,IAAmBA,KAAnB,6BAA2B,MAA3B;EAAA,oBAAuJJ,KAAvJ,CAAmCK,MAAnC;EAAA,IAAmCA,MAAnC,8BAA4C,MAA5C;EAAA,IAAoDC,WAApD,GAAuJN,KAAvJ,CAAoDM,WAApD;EAAA,2BAAuJN,KAAvJ,CAAiEO,aAAjE;EAAA,IAAiEA,aAAjE,qCAAiF,CAAjF;EAAA,IAAoFC,SAApF,GAAuJR,KAAvJ,CAAoFQ,SAApF;EAAA,IAA+FC,OAA/F,GAAuJT,KAAvJ,CAA+FS,OAA/F;EAAA,IAAwGC,YAAxG,GAAuJV,KAAvJ,CAAwGU,YAAxG;EAAA,sBAAuJV,KAAvJ,CAAsHW,QAAtH;EAAA,IAAsHA,QAAtH,gCAAiI,KAAjI;EAAA,kBAAuJX,KAAvJ,CAAwIY,IAAxI;EAAA,IAAwIA,IAAxI,4BAA+I,EAA/I;EACA,IAAMC,SAAS,GAAG,IAAAC,kBAAA,EAAOL,OAAP,EAAgBM,IAAhB,CAAqB,IAAAD,kBAAA,EAAON,SAAP,CAArB,EAAwC,SAAxC,CAAlB;EACA,IAAMQ,YAAY,GAAG,IAAAC,aAAA,EAAO,IAAP,CAArB;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,WAAW,EAAE,CANqB;IAOlCC,QAAQ,EAAE,CAPwB;IAQlCC,QAAQ,EAAE;MACND,QAAQ,EAAE;IADJ;EARwB,CAAZ,CAA1B;EAAA;EAAA,IAAOE,KAAP;EAAA,IAAcC,QAAd;;EAYA,IAAAC,0BAAA,EAAoBnC,GAApB,EAAyB,YAAM;IAC3B,OAAO;MACHoC,MAAM,EAAE,gBAACC,IAAD,EAAU;QACd,IAAMC,MAAM,GAAGnB,SAAS,CAACoB,OAAzB;;QACA,IAAID,MAAJ,EAAY;UACR,IAAMR,WAAW,GAAG,IAAAjB,kBAAA,EAAOwB,IAAP,EAAavB,IAAb,CAAkB,IAAAD,kBAAA,EAAON,SAAP,CAAlB,EAAqC,SAArC,CAApB;UACA,OAAO+B,MAAM,CAACF,MAAP,CAAcN,WAAd,CAAP;QACH,CAHD,MAIK;UACD,OAAOU,OAAO,CAACC,MAAR,EAAP;QACH;MACJ;IAVE,CAAP;EAYH,CAbD;EAcA,IAAAC,gBAAA,EAAU,YAAM;IACZ,IAAMC,SAAS,GAAG5B,YAAY,CAACwB,OAA/B;IACA,IAAI,CAACtC,GAAD,IAAQ,CAAC0C,SAAb,EACI;IACJ,IAAML,MAAM,GAAG,IAAIM,kBAAJ,CAAW;MAAE3C,GAAG,EAAHA,GAAF;MAAO0C,SAAS,EAATA,SAAP;MAAkBE,IAAI,EAAE,KAAxB;MAA+BtC,SAAS,EAATA,SAA/B;MAA0CC,OAAO,EAAPA,OAA1C;MAAmDN,IAAI,EAAJA;IAAnD,CAAX,CAAf;IACAiB,SAAS,CAACoB,OAAV,GAAoBD,MAApB;IACAJ,QAAQ,CAAC;MAAER,OAAO,EAAE,IAAX;MAAiBM,QAAQ,EAAE;QAAED,QAAQ,EAAEO,MAAM,CAACpC,IAAP,KAAgB;MAA5B;IAA3B,CAAD,CAAR;IACA4C,OAAO,CAACC,GAAR,CAAYT,MAAM,CAACpC,IAAnB;IACAoC,MAAM,CACDU,QADL,GAEKC,IAFL,CAEU;MAAA,OAAMf,QAAQ,CAAC;QAAEV,IAAI,EAAE,IAAR;QAAcC,KAAK,EAAE;MAArB,CAAD,CAAd;IAAA,CAFV,WAGW;MAAA,OAAMS,QAAQ,CAAC;QAAET,KAAK,EAAE;MAAT,CAAD,CAAd;IAAA,CAHX,aAIa;MAAA,OAAMS,QAAQ,CAAC;QAAER,OAAO,EAAE;MAAX,CAAD,CAAd;IAAA,CAJb;IAKAY,MAAM,CAACY,YAAP,CAAoB,UAACpB,WAAD,EAAcqB,KAAd,EAAwB;MACxCjB,QAAQ,CAAC;QAAEJ,WAAW,EAAXA,WAAF;QAAeC,QAAQ,EAAEqB,IAAI,CAACC,KAAL,CAAYvB,WAAW,GAAGlB,SAAf,GAA4B,GAAvC;MAAzB,CAAD,CAAR;MACAH,YAAY,IACRA,YAAY,CAAC,IAAAI,kBAAA,EAAON,SAAP,EAAkB+C,GAAlB,CAAsBxB,WAAtB,EAAmC,SAAnC,EAA8CyB,MAA9C,CAAqDC,iBAAA,CAAWC,MAAhE,CAAD,EAA0EN,KAA1E,CADhB;IAEH,CAJD;IAKA,OAAO,YAAM;MACTb,MAAM,CAACoB,OAAP;MACAxB,QAAQ,CAAC;QAAET,KAAK,EAAE,KAAT;QAAgBC,OAAO,EAAE,KAAzB;QAAgCF,IAAI,EAAE;MAAtC,CAAD,CAAR;IACH,CAHD;EAIH,CAtBD,EAsBG,CAACvB,GAAD,EAAMM,SAAN,EAAiBC,OAAjB,CAtBH;EAuBA;;EACA,IAAMmD,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAAO;IACzB,IAAMtB,MAAM,GAAGnB,SAAS,CAACoB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAACuB,OAAP,CAAexD,WAAf,CAAV;IACAuD,CAAC,CAACE,eAAF;EACH,CAJD;EAKA;;;EACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACH,CAAD,EAAO;IAC5BtC,gBAAgB;IAChB,IAAMgB,MAAM,GAAGnB,SAAS,CAACoB,OAAzB;IACAD,MAAM,IAAIA,MAAM,CAAC0B,MAAP,EAAV;IACAJ,CAAC,CAACE,eAAF;EACH,CALD;EAMA;;;EACA,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;IAC5B,IAAMpC,WAAW,GAAGsB,IAAI,CAACC,KAAL,CAAYzC,SAAS,GAAGsD,KAAb,GAAsB,GAAjC,CAApB;IACA,IAAM5B,MAAM,GAAGnB,SAAS,CAACoB,OAAzB;IACAL,QAAQ,CAAC;MAAEH,QAAQ,EAAEmC;IAAZ,CAAD,CAAR;IACA5B,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACF,MAAP,CAAcN,WAAd,CAAhD;EACH,CALD;EAMA;;;EACA,IAAMqC,WAAW,GAAG,SAAdA,WAAc,GAAM;IACtB,IAAM7B,MAAM,GAAGnB,SAAS,CAACoB,OAAzB;IACAD,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAAC8B,KAAP,CAAa,YAAM;MAC/DlC,QAAQ,CAAC;QAAEV,IAAI,EAAE;MAAR,CAAD,CAAR;IACH,CAF+C,CAAhD;EAGH,CALD;EAMA;;;EACA,IAAM6C,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvB,IAAM/B,MAAM,GAAGnB,SAAS,CAACoB,OAAzB;IACAD,MAAM,KAAK,IAAX,IAAmBA,MAAM,KAAK,KAAK,CAAnC,GAAuC,KAAK,CAA5C,GAAgDA,MAAM,CAACgC,MAAP,CAAc,YAAM;MAChEpC,QAAQ,CAAC;QAAEV,IAAI,EAAE;MAAR,CAAD,CAAR;IACH,CAF+C,CAAhD;EAGH,CALD;;EAMA,OAAQ,IAAA+C,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;IAAEC,SAAS,EAAE,oBAAb;IAAmC1E,GAAG,EAAEiB,OAAxC;IAAiD0D,KAAK,EAAE;MAAExE,KAAK,EAALA,KAAF;MAASC,MAAM,EAANA;IAAT;EAAxD,CAAd,EAA2F;IAAEwE,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAK,KAAL,EAAY;MAAE7E,GAAG,EAAEe,YAAP;MAAqB4D,KAAK,EAAE;QAAEvE,MAAM,EAAE,MAAV;QAAkBD,KAAK,EAAE;MAAzB,CAA5B;MAA+DwB,EAAE,EAAEM,KAAK,CAACN;IAAzE,CAAZ,CAAD,EAA6FM,KAAK,CAACP,OAAN,IAAiB,IAAAmD,eAAA,EAAKC,sBAAL,EAAmB,EAAnB,CAA9G,EAAsI,IAAAD,eAAA,EAAKE,mBAAL,EAAgB;MAAErE,QAAQ,EAAEA,QAAZ;MAAsBC,IAAI,EAAEA;IAA5B,CAAhB,CAAtI,EAA2L,IAAA4D,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;MAAEC,SAAS,EAAE,UAAb;MAAyB1E,GAAG,EAAEkB,WAA9B;MAA2CyD,KAAK,EAAE;QAAEK,MAAM,EAAE1E;MAAV;IAAlD,CAAd,EAA6F;MAAEsE,QAAQ,EAAE,CAAC3C,KAAK,CAACT,IAAN,GAAc,IAAAqD,eAAA,EAAKI,gBAAL,EAAgB;QAAEC,OAAO,EAAEf;MAAX,CAAhB,CAAd,GAA4D,IAAAU,eAAA,EAAKM,eAAL,EAAe;QAAED,OAAO,EAAEb;MAAX,CAAf,CAA7D,EAAyG,IAAAE,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE;MAAb,CAAd,EAAqC;QAAEE,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAK,MAAL,EAAaL,MAAM,CAACC,MAAP,CAAc;UAAEC,SAAS,EAAE;QAAb,CAAd,EAAwC;UAAEE,QAAQ,EAAE,IAAAQ,oBAAA,EAAcnD,KAAK,CAACH,WAApB;QAAZ,CAAxC,CAAb,CAAD,EAAwG,IAAAyC,gBAAA,EAAM,MAAN,EAAcC,MAAM,CAACC,MAAP,CAAc;UAAEC,SAAS,EAAE;QAAb,CAAd,EAAsC;UAAEE,QAAQ,EAAE,CAAC,GAAD,EAAM,IAAAQ,oBAAA,EAAcxE,SAAd,CAAN;QAAZ,CAAtC,CAAd,CAAxG;MAAZ,CAArC,CAAb,CAAzG,EAAyX,IAAAiE,eAAA,EAAK,KAAL,EAAYL,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE;MAAb,CAAd,EAAuC;QAAEE,QAAQ,EAAE,IAAAC,eAAA,EAAKQ,kBAAL,EAAa;UAAEC,QAAQ,EAAE,CAACrD,KAAK,CAACD,QAAN,CAAeD,QAA5B;UAAsCwD,YAAY,EAAE,IAApD;UAA0DC,QAAQ,EAAEvB,YAApE;UAAkFC,KAAK,EAAEjC,KAAK,CAACF;QAA/F,CAAb;MAAZ,CAAvC,CAAZ,CAAzX,EAAqjB,IAAAwC,gBAAA,EAAMkB,iBAAN,EAAajB,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE,OAAb;QAAsBgB,IAAI,EAAE,EAA5B;QAAgCC,KAAK,EAAE;MAAvC,CAAd,EAAiE;QAAEf,QAAQ,EAAE,CAAC,IAAAC,eAAA,EAAKe,uBAAL,EAAoB;UAAEtD,MAAM,EAAEnB,SAAS,CAACoB,OAApB;UAA6BsD,YAAY,EAAE,CAA3C;UAA8ClD,SAAS,EAAEzB,WAAW,CAACqB;QAArE,CAApB,CAAD,EAAsG,IAAAsC,eAAA,EAAKiB,sBAAL,EAAmB;UAAExD,MAAM,EAAEnB,SAAS,CAACoB,OAApB;UAA6BI,SAAS,EAAEzB,WAAW,CAACqB;QAApD,CAAnB,CAAtG,EAAyL,IAAAsC,eAAA,EAAKkB,kBAAL,EAAkB;UAAEb,OAAO,EAAEvB;QAAX,CAAlB,CAAzL,EAAwOtC,YAAY,GAAI,IAAAwD,eAAA,EAAKmB,yBAAL,EAAyB;UAAEd,OAAO,EAAEnB;QAAX,CAAzB,CAAJ,GAAgE,IAAAc,eAAA,EAAKoB,qBAAL,EAAqB;UAAEf,OAAO,EAAEnB;QAAX,CAArB,CAApT;MAAZ,CAAjE,CAAb,CAArjB;IAAZ,CAA7F,CAAb,CAA3L;EAAZ,CAA3F,CAAb,CAAR;AACH,CA5F4B,CAAtB;;AA6FPlE,aAAa,CAACqG,WAAd,GAA4B,eAA5B;eACerG,a"}
1
+ {"version":3,"file":"index.js","names":["HistoryPlayer","forwardRef","props","ref","url","type","enableAgent","width","height","captureName","controlBottom","startTime","endTime","onTimeChange","showInfo","info","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","Promise","reject","useEffect","container","Player","live","console","log","playBack","then","onTimeUpdate","speed","Math","floor","add","format","TimeFormat","params","destroy","handleCapture","e","capture","stopPropagation","handleFullScreen","resize","handleSlider","value","handlePause","pause","handleResume","resume","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","InfoPanel","bottom","PauseIcon","onClick","PlayIcon","secondsToTime","Slider","disabled","tipFormatter","onChange","Space","size","align","VolumeControl","defaultValue","SpeedControl","CaptureIcon","ExitFullScreenIcon","FullScreenIcon","displayName"],"sources":["history-player/index.js"],"sourcesContent":["import { 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, showInfo = false, info = [], } = 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({ url, enableAgent, container, live: false, startTime, endTime, type });\n playerRef.current = player;\n setState({ loading: true, controls: { progress: player.type === 'hk_ws' } });\n console.log(player.type);\n player\n .playBack()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n player.onTimeUpdate((currentTime, speed) => {\n setState({ currentTime, progress: Math.floor((currentTime / totalTime) * 100) });\n onTimeChange &&\n onTimeChange(moment(startTime).add(currentTime, 'seconds').format(TimeFormat.params), speed);\n });\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url, startTime, endTime]);\n /** 截图方法 */\n const handleCapture = (e) => {\n const player = playerRef.current;\n player && player.capture(captureName);\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 } }, { 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 }), _jsx(CaptureIcon, { onClick: handleCapture }), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] }))] }))] })));\n});\nHistoryPlayer.displayName = 'HistoryPlayer';\nexport default HistoryPlayer;\n"],"mappings":"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"}
@@ -150,6 +150,7 @@ var LiveChannelPlayer = function LiveChannelPlayer(props) {
150
150
  }, [channelId]);
151
151
  return params && (0, _jsxRuntime.jsx)(_livePlayer["default"], {
152
152
  url: params.url,
153
+ enableAgent: params.enableAgent || false,
153
154
  width: width,
154
155
  height: height,
155
156
  talkUrl: params.beenHasVideo ? params.apiUrl : '',
@@ -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","LiveChannelPlayer","props","channelId","width","height","useState","params","setParams","useRequest","loadVideoChannel","manual","getChannelInfo","runAsync","getPreviewUrl","getVideoUrl","getVideoInfo","channel","channelNum","deviceId","videoDeviceId","videoInfo","getCloudParams","ptzType","type","query","useEffect","_jsx","LivePlayer","url","talkUrl","beenHasVideo","apiUrl","captureName","deviceName","channelName","cloudParams"],"sources":["live-channel-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 } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { useRequest } from 'ahooks';\nimport { getPreviewUrl, loadVideoChannel } from '../api';\nimport LivePlayer from '../live-player';\n/**\n * 基于通道ID的实时播放器\n * @param props\n * @returns\n */\nexport const LiveChannelPlayer = (props) => {\n const { channelId, width, height } = props;\n const [params, setParams] = useState();\n const { runAsync: getChannelInfo } = useRequest(loadVideoChannel, { manual: true });\n const { runAsync: getVideoUrl } = useRequest(getPreviewUrl, { manual: true });\n const getVideoInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n const channel = yield getChannelInfo(channelId);\n const videoInfo = yield getVideoUrl({\n channelNum: channel.channelNum,\n deviceId: channel.videoDeviceId,\n });\n setParams(videoInfo);\n });\n const getCloudParams = () => {\n const ptzType = params === null || params === void 0 ? void 0 : params.ptzType;\n if (ptzType) {\n let type = 'none';\n if (ptzType === 1) {\n type = 'all';\n }\n else if (ptzType === 2) {\n type = 'onlyFocus';\n }\n else if (ptzType === 3) {\n type = 'onlyRotate';\n }\n return {\n query: {\n channelNum: params.channelNum,\n deviceId: params.deviceId,\n },\n type,\n };\n }\n };\n useEffect(() => {\n if (channelId)\n getVideoInfo();\n }, [channelId]);\n return (params && (_jsx(LivePlayer, { url: params.url, width: width, height: height, talkUrl: params.beenHasVideo ? params.apiUrl : '', captureName: `${params.deviceName}-${params.channelName}`, cloudParams: getCloudParams() })));\n};\nexport default LiveChannelPlayer;\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","LiveChannelPlayer","props","channelId","width","height","useState","params","setParams","useRequest","loadVideoChannel","manual","getChannelInfo","runAsync","getPreviewUrl","getVideoUrl","getVideoInfo","channel","channelNum","deviceId","videoDeviceId","videoInfo","getCloudParams","ptzType","type","query","useEffect","_jsx","LivePlayer","url","enableAgent","talkUrl","beenHasVideo","apiUrl","captureName","deviceName","channelName","cloudParams"],"sources":["live-channel-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 } from \"react/jsx-runtime\";\nimport { useEffect, useState } from 'react';\nimport { useRequest } from 'ahooks';\nimport { getPreviewUrl, loadVideoChannel } from '../api';\nimport LivePlayer from '../live-player';\n/**\n * 基于通道ID的实时播放器\n * @param props\n * @returns\n */\nexport const LiveChannelPlayer = (props) => {\n const { channelId, width, height } = props;\n const [params, setParams] = useState();\n const { runAsync: getChannelInfo } = useRequest(loadVideoChannel, { manual: true });\n const { runAsync: getVideoUrl } = useRequest(getPreviewUrl, { manual: true });\n const getVideoInfo = () => __awaiter(void 0, void 0, void 0, function* () {\n const channel = yield getChannelInfo(channelId);\n const videoInfo = yield getVideoUrl({\n channelNum: channel.channelNum,\n deviceId: channel.videoDeviceId,\n });\n setParams(videoInfo);\n });\n const getCloudParams = () => {\n const ptzType = params === null || params === void 0 ? void 0 : params.ptzType;\n if (ptzType) {\n let type = 'none';\n if (ptzType === 1) {\n type = 'all';\n }\n else if (ptzType === 2) {\n type = 'onlyFocus';\n }\n else if (ptzType === 3) {\n type = 'onlyRotate';\n }\n return {\n query: {\n channelNum: params.channelNum,\n deviceId: params.deviceId,\n },\n type,\n };\n }\n };\n useEffect(() => {\n if (channelId)\n getVideoInfo();\n }, [channelId]);\n return (params && (_jsx(LivePlayer, { url: params.url, enableAgent: params.enableAgent || false, width: width, height: height, talkUrl: params.beenHasVideo ? params.apiUrl : '', captureName: `${params.deviceName}-${params.channelName}`, cloudParams: getCloudParams() })));\n};\nexport default LiveChannelPlayer;\n"],"mappings":"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"}
@@ -344,6 +344,7 @@ var GridItem = function GridItem(props) {
344
344
  }, {
345
345
  children: (0, _jsxRuntime.jsx)(_livePlayer["default"], {
346
346
  url: data.url,
347
+ enableAgent: (data === null || data === void 0 ? void 0 : data.enableAgent) || false,
347
348
  captureName: name,
348
349
  talkUrl: data.apiUrl,
349
350
  showInfo: channel.showInfo,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControl","forwardRef","props","ref","height","width","onExpandChange","onChannelChange","polling","useSetState","expand","grid","activeIndex","channels","state","setState","wrapRef","useRef","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useInterval","hasVideo","some","item","timer","setTimeout","current","clearTimeout","useImperativeHandle","load","channel","index","findIndex","c","newChannels","getActiveIndex","multiLoad","length","i","push","unLoad","useEffect","filter","map","handleCloseAll","handleExpand","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","Object","assign","className","style","children","Space","size","align","Tooltip","title","FoldIcon","ExpandIcon","CloseAllIcon","Grid1x1Icon","Grid2x2Icon","Grid3x3Icon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","name","deviceName","channelName","_Fragment","PlayerHeader","VtxLivePlayer","url","captureName","talkUrl","apiUrl","showInfo","info","currentIndex","currentChannels","slice"],"sources":["live-control/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 { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, Grid1x1Icon, Grid2x2Icon, Grid3x3Icon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { useFullscreen, useInterval, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\n// import { Space, Tooltip } from 'antd';\nimport Tooltip from 'antd/lib/tooltip';\nconst DEFAULT_GRID = 2;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(9).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControl = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onChannelChange, polling } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n });\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n useInterval(() => {\n // 是否有视频正在播放\n const hasVideo = state.channels.some((item) => item.channelNum);\n if (polling && hasVideo) {\n setState({\n channels: DEFAULT_CHANNELS,\n });\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 load: (channel) => {\n const index = state.channels.findIndex((c) => c.channelNum === channel.channelNum);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...state.channels];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, state.grid, state.activeIndex);\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels) => {\n let grid = 1;\n if (channels.length > 1)\n grid = 2;\n if (channels.length > 4)\n grid = 3;\n const newChannels = [];\n for (let i = 0; i < 9; i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n setState({ grid, channels: newChannels });\n },\n unLoad: (channelNum) => {\n const index = state.channels.findIndex((c) => c.channelNum === channelNum);\n if (~index) {\n // 卸载通道\n const newChannels = [...state.channels];\n newChannels[index] = { channelNum: '' };\n setState({ channels: newChannels });\n }\n },\n };\n });\n useEffect(() => {\n channelRef.current = state.channels;\n if (onChannelChange) {\n onChannelChange(state.channels.filter((c) => !!c.channelNum).map((c) => c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({ channels: DEFAULT_CHANNELS });\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < state.grid * state.grid; i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: state.channels[i], onClose: () => {\n const newChannels = [...state.channels];\n newChannels[i] = { channelNum: '' };\n setState({ channels: newChannels });\n } }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(Tooltip, Object.assign({ title: \"\\u5168\\u90E8\\u5173\\u95ED\" }, { children: _jsx(\"div\", { children: _jsx(CloseAllIcon, { onClick: handleCloseAll }) }) })), _jsx(Tooltip, Object.assign({ title: \"1\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid1x1Icon, { active: state.grid === 1, onClick: () => setState({ grid: 1 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"4\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid2x2Icon, { active: state.grid === 2, onClick: () => setState({ grid: 2 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"9\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid3x3Icon, { active: state.grid === 3, onClick: () => setState({ grid: 3 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"\\u5168\\u5C4F\" }, { children: _jsx(\"div\", { children: isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen })) }) }))] }))] }))] })));\n});\nLiveControl.displayName = 'LiveControl';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose } = props;\n const empty = !channel.channelNum;\n const { data } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''}`, onClick: onClick }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(VtxLivePlayer, { url: data.url, captureName: name, talkUrl: data.apiUrl, showInfo: channel.showInfo, info: channel.info }) }))] })) })));\n};\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, grid * grid);\n for (let i = currentIndex + 1; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\nexport default LiveControl;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAMA,YAAY,GAAG,CAArB;AACA,IAAMC,cAAc,GAAG,CAAvB;AACA,IAAMC,gBAAgB,GAAGC,KAAK,CAAC,CAAD,CAAL,CAASC,IAAT,CAAc;EAAEC,UAAU,EAAE;AAAd,CAAd,CAAzB;AACA;AACA;AACA;;AACA,IAAMC,WAAW,gBAAG,IAAAC,iBAAA,EAAW,UAACC,KAAD,EAAQC,GAAR,EAAgB;EAC3C,oBAAsFD,KAAtF,CAAQE,MAAR;EAAA,IAAQA,MAAR,8BAAiB,MAAjB;EAAA,mBAAsFF,KAAtF,CAAyBG,KAAzB;EAAA,IAAyBA,KAAzB,6BAAiC,MAAjC;EAAA,IAAyCC,cAAzC,GAAsFJ,KAAtF,CAAyCI,cAAzC;EAAA,IAAyDC,eAAzD,GAAsFL,KAAtF,CAAyDK,eAAzD;EAAA,IAA0EC,OAA1E,GAAsFN,KAAtF,CAA0EM,OAA1E;;EACA,mBAA0B,IAAAC,mBAAA,EAAY;IAClCC,MAAM,EAAE,IAD0B;IAElCC,IAAI,EAAEjB,YAF4B;IAGlCkB,WAAW,EAAEjB,cAHqB;IAIlCkB,QAAQ,EAAEjB;EAJwB,CAAZ,CAA1B;EAAA;EAAA,IAAOkB,KAAP;EAAA,IAAcC,QAAd;;EAMA,IAAMC,OAAO,GAAG,IAAAC,aAAA,EAAO,IAAP,CAAhB;;EACA,qBAA6C,IAAAC,qBAAA,EAAcF,OAAd,CAA7C;EAAA;EAAA,IAAOG,YAAP;EAAA,IAAuBC,gBAAvB,sBAAuBA,gBAAvB;;EACA,IAAMC,UAAU,GAAG,IAAAJ,aAAA,EAAOrB,gBAAP,CAAnB,CAV2C,CAW3C;;EACA,IAAA0B,mBAAA,EAAY,YAAM;IACd;IACA,IAAMC,QAAQ,GAAGT,KAAK,CAACD,QAAN,CAAeW,IAAf,CAAoB,UAACC,IAAD;MAAA,OAAUA,IAAI,CAAC1B,UAAf;IAAA,CAApB,CAAjB;;IACA,IAAIS,OAAO,IAAIe,QAAf,EAAyB;MACrBR,QAAQ,CAAC;QACLF,QAAQ,EAAEjB;MADL,CAAD,CAAR;MAGA,IAAM8B,KAAK,GAAGC,UAAU,CAAC,YAAM;QAC3BZ,QAAQ,CAAC;UACLF,QAAQ,EAAEQ,UAAU,CAACO;QADhB,CAAD,CAAR;QAGAC,YAAY,CAACH,KAAD,CAAZ;MACH,CALuB,EAKrB,CALqB,CAAxB;IAMH;EACJ,CAdD,EAcGlB,OAdH;EAeA,IAAAsB,0BAAA,EAAoB3B,GAApB,EAAyB,YAAM;IAC3B,OAAO;MACH4B,IAAI,EAAE,cAACC,OAAD,EAAa;QACf,IAAMC,KAAK,GAAGnB,KAAK,CAACD,QAAN,CAAeqB,SAAf,CAAyB,UAACC,CAAD;UAAA,OAAOA,CAAC,CAACpC,UAAF,KAAiBiC,OAAO,CAACjC,UAAhC;QAAA,CAAzB,CAAd;;QACA,IAAI,CAACkC,KAAL,EAAY;UACRlB,QAAQ,CAAC;YAAEH,WAAW,EAAEqB;UAAf,CAAD,CAAR,CADQ,CAC0B;QACrC,CAFD,MAGK;UACD;UACA,IAAMG,WAAW,sBAAOtB,KAAK,CAACD,QAAb,CAAjB;;UACAuB,WAAW,CAACtB,KAAK,CAACF,WAAP,CAAX,GAAiCoB,OAAjC;UACA,IAAMpB,WAAW,GAAGyB,cAAc,CAACD,WAAD,EAActB,KAAK,CAACH,IAApB,EAA0BG,KAAK,CAACF,WAAhC,CAAlC;UACAG,QAAQ,CAAC;YAAEF,QAAQ,EAAEuB,WAAZ;YAAyBxB,WAAW,EAAXA;UAAzB,CAAD,CAAR;QACH;MACJ,CAbE;MAcH0B,SAAS,EAAE,mBAACzB,QAAD,EAAc;QACrB,IAAIF,IAAI,GAAG,CAAX;QACA,IAAIE,QAAQ,CAAC0B,MAAT,GAAkB,CAAtB,EACI5B,IAAI,GAAG,CAAP;QACJ,IAAIE,QAAQ,CAAC0B,MAAT,GAAkB,CAAtB,EACI5B,IAAI,GAAG,CAAP;QACJ,IAAMyB,WAAW,GAAG,EAApB;;QACA,KAAK,IAAII,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,CAApB,EAAuBA,CAAC,EAAxB,EAA4B;UACxBJ,WAAW,CAACK,IAAZ,CAAiB5B,QAAQ,CAAC2B,CAAD,CAAR,GAAc3B,QAAQ,CAAC2B,CAAD,CAAtB,GAA4B;YAAEzC,UAAU,EAAE;UAAd,CAA7C;QACH;;QACDgB,QAAQ,CAAC;UAAEJ,IAAI,EAAJA,IAAF;UAAQE,QAAQ,EAAEuB;QAAlB,CAAD,CAAR;MACH,CAzBE;MA0BHM,MAAM,EAAE,gBAAC3C,UAAD,EAAgB;QACpB,IAAMkC,KAAK,GAAGnB,KAAK,CAACD,QAAN,CAAeqB,SAAf,CAAyB,UAACC,CAAD;UAAA,OAAOA,CAAC,CAACpC,UAAF,KAAiBA,UAAxB;QAAA,CAAzB,CAAd;;QACA,IAAI,CAACkC,KAAL,EAAY;UACR;UACA,IAAMG,WAAW,sBAAOtB,KAAK,CAACD,QAAb,CAAjB;;UACAuB,WAAW,CAACH,KAAD,CAAX,GAAqB;YAAElC,UAAU,EAAE;UAAd,CAArB;UACAgB,QAAQ,CAAC;YAAEF,QAAQ,EAAEuB;UAAZ,CAAD,CAAR;QACH;MACJ;IAlCE,CAAP;EAoCH,CArCD;EAsCA,IAAAO,gBAAA,EAAU,YAAM;IACZtB,UAAU,CAACO,OAAX,GAAqBd,KAAK,CAACD,QAA3B;;IACA,IAAIN,eAAJ,EAAqB;MACjBA,eAAe,CAACO,KAAK,CAACD,QAAN,CAAe+B,MAAf,CAAsB,UAACT,CAAD;QAAA,OAAO,CAAC,CAACA,CAAC,CAACpC,UAAX;MAAA,CAAtB,EAA6C8C,GAA7C,CAAiD,UAACV,CAAD;QAAA,OAAOA,CAAC,CAACpC,UAAT;MAAA,CAAjD,CAAD,CAAf;IACH;EACJ,CALD,EAKG,CAACe,KAAK,CAACD,QAAP,CALH;;EAMA,IAAMiC,cAAc,GAAG,SAAjBA,cAAiB,GAAM;IACzB/B,QAAQ,CAAC;MAAEF,QAAQ,EAAEjB;IAAZ,CAAD,CAAR;EACH,CAFD;;EAGA,IAAMmD,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvBzC,cAAc,IAAIA,cAAc,CAAC,CAACQ,KAAK,CAACJ,MAAR,CAAhC;IACAK,QAAQ,CAAC;MAAEL,MAAM,EAAE,CAACI,KAAK,CAACJ;IAAjB,CAAD,CAAR;EACH,CAHD;;EAIA,IAAMsC,YAAY,GAAG,SAAfA,YAAe,GAAM;IACvB,IAAMC,KAAK,GAAG,EAAd;;IADuB,2BAEdT,CAFc;MAGnB,IAAMU,OAAO,GAAI,IAAAC,eAAA,EAAKC,QAAL,EAAe;QAAEC,MAAM,EAAEvC,KAAK,CAACF,WAAN,KAAsB4B,CAAhC;QAAmCc,OAAO,EAAE;UAAA,OAAMvC,QAAQ,CAAC;YAAEH,WAAW,EAAE4B;UAAf,CAAD,CAAd;QAAA,CAA5C;QAAgFR,OAAO,EAAElB,KAAK,CAACD,QAAN,CAAe2B,CAAf,CAAzF;QAA4Ge,OAAO,EAAE,mBAAM;UACnJ,IAAMnB,WAAW,sBAAOtB,KAAK,CAACD,QAAb,CAAjB;;UACAuB,WAAW,CAACI,CAAD,CAAX,GAAiB;YAAEzC,UAAU,EAAE;UAAd,CAAjB;UACAgB,QAAQ,CAAC;YAAEF,QAAQ,EAAEuB;UAAZ,CAAD,CAAR;QACH;MAJ2B,CAAf,EAIRI,CAJQ,CAAjB;MAKAS,KAAK,CAACR,IAAN,CAAWS,OAAX;IARmB;;IAEvB,KAAK,IAAIV,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG1B,KAAK,CAACH,IAAN,GAAaG,KAAK,CAACH,IAAvC,EAA6C6B,CAAC,EAA9C,EAAkD;MAAA,MAAzCA,CAAyC;IAOjD;;IACD,OAAOS,KAAP;EACH,CAXD;;EAYA,OAAQ,IAAAO,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;IAAEC,SAAS,EAAE,kBAAb;IAAiCxD,GAAG,EAAEa,OAAtC;IAA+C4C,KAAK,EAAE;MAAExD,MAAM,EAANA,MAAF;MAAUC,KAAK,EAALA;IAAV;EAAtD,CAAd,EAAyF;IAAEwD,QAAQ,EAAE,CAAC,IAAAV,eAAA,EAAK,KAAL,EAAYM,MAAM,CAACC,MAAP,CAAc;MAAEC,SAAS,mCAA4B7C,KAAK,CAACH,IAAlC;IAAX,CAAd,EAAqE;MAAEkD,QAAQ,EAAEb,YAAY;IAAxB,CAArE,CAAZ,CAAD,EAAkH,IAAAQ,gBAAA,EAAM,KAAN,EAAaC,MAAM,CAACC,MAAP,CAAc;MAAEC,SAAS,EAAE;IAAb,CAAd,EAAyC;MAAEE,QAAQ,EAAE,CAAC,IAAAV,eAAA,EAAKW,iBAAL,EAAYL,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE,MAAb;QAAqBI,IAAI,EAAE,EAA3B;QAA+BC,KAAK,EAAE;MAAtC,CAAd,EAAgE;QAAEH,QAAQ,EAAEvD,cAAc,IAAK,IAAA6C,eAAA,EAAKc,mBAAL,EAAcR,MAAM,CAACC,MAAP,CAAc;UAAEQ,KAAK,EAAEpD,KAAK,CAACJ,MAAN,GAAe,IAAf,GAAsB;QAA/B,CAAd,EAAqD;UAAEmD,QAAQ,EAAE,IAAAV,eAAA,EAAK,KAAL,EAAYM,MAAM,CAACC,MAAP,CAAc;YAAEJ,OAAO,EAAEP;UAAX,CAAd,EAAyC;YAAEc,QAAQ,EAAE/C,KAAK,CAACJ,MAAN,GAAe,IAAAyC,eAAA,EAAKgB,eAAL,EAAe,EAAf,CAAf,GAAoC,IAAAhB,eAAA,EAAKiB,iBAAL,EAAiB,EAAjB;UAAhD,CAAzC,CAAZ;QAAZ,CAArD,CAAd;MAA/B,CAAhE,CAAZ,CAAD,EAAmU,IAAAZ,gBAAA,EAAMM,iBAAN,EAAaL,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE,OAAb;QAAsBI,IAAI,EAAE,EAA5B;QAAgCC,KAAK,EAAE;MAAvC,CAAd,EAAiE;QAAEH,QAAQ,EAAE,CAAC,IAAAV,eAAA,EAAKc,mBAAL,EAAcR,MAAM,CAACC,MAAP,CAAc;UAAEQ,KAAK,EAAE;QAAT,CAAd,EAAqD;UAAEL,QAAQ,EAAE,IAAAV,eAAA,EAAK,KAAL,EAAY;YAAEU,QAAQ,EAAE,IAAAV,eAAA,EAAKkB,mBAAL,EAAmB;cAAEf,OAAO,EAAER;YAAX,CAAnB;UAAZ,CAAZ;QAAZ,CAArD,CAAd,CAAD,EAAgK,IAAAK,eAAA,EAAKc,mBAAL,EAAcR,MAAM,CAACC,MAAP,CAAc;UAAEQ,KAAK,EAAE;QAAT,CAAd,EAA0C;UAAEL,QAAQ,EAAE,IAAAV,eAAA,EAAK,KAAL,EAAY;YAAEU,QAAQ,EAAE,IAAAV,eAAA,EAAKmB,kBAAL,EAAkB;cAAEjB,MAAM,EAAEvC,KAAK,CAACH,IAAN,KAAe,CAAzB;cAA4B2C,OAAO,EAAE;gBAAA,OAAMvC,QAAQ,CAAC;kBAAEJ,IAAI,EAAE;gBAAR,CAAD,CAAd;cAAA;YAArC,CAAlB;UAAZ,CAAZ;QAAZ,CAA1C,CAAd,CAAhK,EAA0V,IAAAwC,eAAA,EAAKc,mBAAL,EAAcR,MAAM,CAACC,MAAP,CAAc;UAAEQ,KAAK,EAAE;QAAT,CAAd,EAA0C;UAAEL,QAAQ,EAAE,IAAAV,eAAA,EAAK,KAAL,EAAY;YAAEU,QAAQ,EAAE,IAAAV,eAAA,EAAKoB,kBAAL,EAAkB;cAAElB,MAAM,EAAEvC,KAAK,CAACH,IAAN,KAAe,CAAzB;cAA4B2C,OAAO,EAAE;gBAAA,OAAMvC,QAAQ,CAAC;kBAAEJ,IAAI,EAAE;gBAAR,CAAD,CAAd;cAAA;YAArC,CAAlB;UAAZ,CAAZ;QAAZ,CAA1C,CAAd,CAA1V,EAAohB,IAAAwC,eAAA,EAAKc,mBAAL,EAAcR,MAAM,CAACC,MAAP,CAAc;UAAEQ,KAAK,EAAE;QAAT,CAAd,EAA0C;UAAEL,QAAQ,EAAE,IAAAV,eAAA,EAAK,KAAL,EAAY;YAAEU,QAAQ,EAAE,IAAAV,eAAA,EAAKqB,kBAAL,EAAkB;cAAEnB,MAAM,EAAEvC,KAAK,CAACH,IAAN,KAAe,CAAzB;cAA4B2C,OAAO,EAAE;gBAAA,OAAMvC,QAAQ,CAAC;kBAAEJ,IAAI,EAAE;gBAAR,CAAD,CAAd;cAAA;YAArC,CAAlB;UAAZ,CAAZ;QAAZ,CAA1C,CAAd,CAAphB,EAA8sB,IAAAwC,eAAA,EAAKc,mBAAL,EAAcR,MAAM,CAACC,MAAP,CAAc;UAAEQ,KAAK,EAAE;QAAT,CAAd,EAAyC;UAAEL,QAAQ,EAAE,IAAAV,eAAA,EAAK,KAAL,EAAY;YAAEU,QAAQ,EAAE1C,YAAY,GAAI,IAAAgC,eAAA,EAAKsB,yBAAL,EAAyB;cAAEnB,OAAO,EAAElC;YAAX,CAAzB,CAAJ,GAAgE,IAAA+B,eAAA,EAAKuB,qBAAL,EAAqB;cAAEpB,OAAO,EAAElC;YAAX,CAArB;UAAxF,CAAZ;QAAZ,CAAzC,CAAd,CAA9sB;MAAZ,CAAjE,CAAb,CAAnU;IAAZ,CAAzC,CAAb,CAAlH;EAAZ,CAAzF,CAAb,CAAR;AACH,CA3FmB,CAApB;AA4FApB,WAAW,CAAC2E,WAAZ,GAA0B,aAA1B;;AACA,IAAMvB,QAAQ,GAAG,SAAXA,QAAW,CAAClD,KAAD,EAAW;EACxB,IAAQmD,MAAR,GAA8CnD,KAA9C,CAAQmD,MAAR;EAAA,IAAgBC,OAAhB,GAA8CpD,KAA9C,CAAgBoD,OAAhB;EAAA,IAAyBtB,OAAzB,GAA8C9B,KAA9C,CAAyB8B,OAAzB;EAAA,IAAkCuB,OAAlC,GAA8CrD,KAA9C,CAAkCqD,OAAlC;EACA,IAAMqB,KAAK,GAAG,CAAC5C,OAAO,CAACjC,UAAvB;;EACA,kBAAiB,IAAA8E,kBAAA,EAAW;IAAA,OAAM,IAAAC,kBAAA,EAAc9C,OAAd,CAAN;EAAA,CAAX,EAAyC;IACtD+C,KAAK,EAAE,CAAC,CAAC/C,OAAO,CAACjC,UADqC;IAEtDiF,WAAW,EAAE,CAAChD,OAAO,CAACjC,UAAT;EAFyC,CAAzC,CAAjB;EAAA,IAAQkF,IAAR,eAAQA,IAAR;;EAIA,IAAMC,IAAI,aAAMD,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACE,UAAvD,cAAqEF,IAAI,KAAK,IAAT,IAAiBA,IAAI,KAAK,KAAK,CAA/B,GAAmC,KAAK,CAAxC,GAA4CA,IAAI,CAACG,WAAtH,CAAV;EACA,OAAQ,IAAAjC,eAAA,EAAK,KAAL,EAAYM,MAAM,CAACC,MAAP,CAAc;IAAEC,SAAS,gCAAyBN,MAAM,GAAG,QAAH,GAAc,EAA7C,CAAX;IAA8DC,OAAO,EAAEA;EAAvE,CAAd,EAAgG;IAAEO,QAAQ,EAAEoB,IAAI,IAAI,CAACL,KAAT,IAAmB,IAAApB,gBAAA,EAAM6B,oBAAN,EAAiB;MAAExB,QAAQ,EAAE,CAAC,IAAAV,eAAA,EAAKmC,sBAAL,EAAmB;QAAEJ,IAAI,EAAEA,IAAR;QAAc3B,OAAO,EAAEA;MAAvB,CAAnB,CAAD,EAAuD,IAAAJ,eAAA,EAAK,KAAL,EAAYM,MAAM,CAACC,MAAP,CAAc;QAAEC,SAAS,EAAE;MAAb,CAAd,EAAwC;QAAEE,QAAQ,EAAE,IAAAV,eAAA,EAAKoC,sBAAL,EAAoB;UAAEC,GAAG,EAAEP,IAAI,CAACO,GAAZ;UAAiBC,WAAW,EAAEP,IAA9B;UAAoCQ,OAAO,EAAET,IAAI,CAACU,MAAlD;UAA0DC,QAAQ,EAAE5D,OAAO,CAAC4D,QAA5E;UAAsFC,IAAI,EAAE7D,OAAO,CAAC6D;QAApG,CAApB;MAAZ,CAAxC,CAAZ,CAAvD;IAAZ,CAAjB;EAA/B,CAAhG,CAAZ,CAAR;AACH,CATD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMxD,cAAc,GAAG,SAAjBA,cAAiB,CAACxB,QAAD,EAAWF,IAAX,EAAiBmF,YAAjB,EAAkC;EACrD,IAAMC,eAAe,GAAGlF,QAAQ,CAACmF,KAAT,CAAe,CAAf,EAAkBrF,IAAI,GAAGA,IAAzB,CAAxB;;EACA,KAAK,IAAI6B,CAAC,GAAGsD,YAAY,GAAG,CAA5B,EAA+BtD,CAAC,GAAGuD,eAAe,CAACxD,MAAnD,EAA2DC,CAAC,EAA5D,EAAgE;IAC5D,IAAI,CAACuD,eAAe,CAACvD,CAAD,CAAf,CAAmBzC,UAAxB,EACI,OAAOyC,CAAP;EACP;;EACD,KAAK,IAAIA,GAAC,GAAG,CAAb,EAAgBA,GAAC,GAAGsD,YAApB,EAAkCtD,GAAC,EAAnC,EAAuC;IACnC,IAAI,CAACuD,eAAe,CAACvD,GAAD,CAAf,CAAmBzC,UAAxB,EACI,OAAOyC,GAAP;EACP;;EACD,OAAOsD,YAAP;AACH,CAXD;;eAYe9F,W"}
1
+ {"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControl","forwardRef","props","ref","height","width","onExpandChange","onChannelChange","polling","useSetState","expand","grid","activeIndex","channels","state","setState","wrapRef","useRef","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useInterval","hasVideo","some","item","timer","setTimeout","current","clearTimeout","useImperativeHandle","load","channel","index","findIndex","c","newChannels","getActiveIndex","multiLoad","length","i","push","unLoad","useEffect","filter","map","handleCloseAll","handleExpand","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","Object","assign","className","style","children","Space","size","align","Tooltip","title","FoldIcon","ExpandIcon","CloseAllIcon","Grid1x1Icon","Grid2x2Icon","Grid3x3Icon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","name","deviceName","channelName","_Fragment","PlayerHeader","VtxLivePlayer","url","enableAgent","captureName","talkUrl","apiUrl","showInfo","info","currentIndex","currentChannels","slice"],"sources":["live-control/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 { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, Grid1x1Icon, Grid2x2Icon, Grid3x3Icon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { useFullscreen, useInterval, useRequest, useSetState } from 'ahooks';\nimport Space from 'antd/lib/space';\n// import { Space, Tooltip } from 'antd';\nimport Tooltip from 'antd/lib/tooltip';\nconst DEFAULT_GRID = 2;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(9).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControl = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onChannelChange, polling } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n });\n const wrapRef = useRef(null);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n useInterval(() => {\n // 是否有视频正在播放\n const hasVideo = state.channels.some((item) => item.channelNum);\n if (polling && hasVideo) {\n setState({\n channels: DEFAULT_CHANNELS,\n });\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 load: (channel) => {\n const index = state.channels.findIndex((c) => c.channelNum === channel.channelNum);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...state.channels];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, state.grid, state.activeIndex);\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels) => {\n let grid = 1;\n if (channels.length > 1)\n grid = 2;\n if (channels.length > 4)\n grid = 3;\n const newChannels = [];\n for (let i = 0; i < 9; i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n setState({ grid, channels: newChannels });\n },\n unLoad: (channelNum) => {\n const index = state.channels.findIndex((c) => c.channelNum === channelNum);\n if (~index) {\n // 卸载通道\n const newChannels = [...state.channels];\n newChannels[index] = { channelNum: '' };\n setState({ channels: newChannels });\n }\n },\n };\n });\n useEffect(() => {\n channelRef.current = state.channels;\n if (onChannelChange) {\n onChannelChange(state.channels.filter((c) => !!c.channelNum).map((c) => c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({ channels: DEFAULT_CHANNELS });\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < state.grid * state.grid; i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: state.channels[i], onClose: () => {\n const newChannels = [...state.channels];\n newChannels[i] = { channelNum: '' };\n setState({ channels: newChannels });\n } }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"controls\" }, { children: [_jsx(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: onExpandChange && (_jsx(Tooltip, Object.assign({ title: state.expand ? '收起' : '展开' }, { children: _jsx(\"div\", Object.assign({ onClick: handleExpand }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) })) }))) })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(Tooltip, Object.assign({ title: \"\\u5168\\u90E8\\u5173\\u95ED\" }, { children: _jsx(\"div\", { children: _jsx(CloseAllIcon, { onClick: handleCloseAll }) }) })), _jsx(Tooltip, Object.assign({ title: \"1\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid1x1Icon, { active: state.grid === 1, onClick: () => setState({ grid: 1 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"4\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid2x2Icon, { active: state.grid === 2, onClick: () => setState({ grid: 2 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"9\\u5206\\u5C4F\" }, { children: _jsx(\"div\", { children: _jsx(Grid3x3Icon, { active: state.grid === 3, onClick: () => setState({ grid: 3 }) }) }) })), _jsx(Tooltip, Object.assign({ title: \"\\u5168\\u5C4F\" }, { children: _jsx(\"div\", { children: isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen })) }) }))] }))] }))] })));\n});\nLiveControl.displayName = 'LiveControl';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose } = props;\n const empty = !channel.channelNum;\n const { data } = useRequest(() => getPreviewUrl(channel), {\n ready: !!channel.channelNum,\n refreshDeps: [channel.channelNum],\n });\n const name = `${data === null || data === void 0 ? void 0 : data.deviceName}-${data === null || data === void 0 ? void 0 : data.channelName}`;\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''}`, onClick: onClick }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(VtxLivePlayer, { url: data.url, enableAgent: (data === null || data === void 0 ? void 0 : data.enableAgent) || false, captureName: name, talkUrl: data.apiUrl, showInfo: channel.showInfo, info: channel.info }) }))] })) })));\n};\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, grid * grid);\n for (let i = currentIndex + 1; i < currentChannels.length; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n for (let i = 0; i < currentIndex; i++) {\n if (!currentChannels[i].channelNum)\n return i;\n }\n return currentIndex;\n};\nexport default LiveControl;\n"],"mappings":"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"}
@@ -3,6 +3,8 @@ import { VideoType } from '../player';
3
3
  interface VtxPlayerProps {
4
4
  /** 视频流地址 */
5
5
  url: string;
6
+ /** 是否使用代理播放 */
7
+ enableAgent: boolean;
6
8
  /** 宽度 */
7
9
  width?: number;
8
10
  /** 高度 */
@@ -37,6 +37,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
37
 
38
38
  var LivePlayer = function LivePlayer(props) {
39
39
  var url = props.url,
40
+ enableAgent = props.enableAgent,
40
41
  _props$width = props.width,
41
42
  width = _props$width === void 0 ? '100%' : _props$width,
42
43
  _props$height = props.height,
@@ -77,6 +78,7 @@ var LivePlayer = function LivePlayer(props) {
77
78
  if (!url || !container) return;
78
79
  var player = new _player["default"]({
79
80
  url: url,
81
+ enableAgent: enableAgent,
80
82
  container: container,
81
83
  type: type
82
84
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["LivePlayer","props","url","width","height","captureName","type","talkUrl","cloudParams","showInfo","info","screenshot","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useEffect","container","current","player","Player","then","destroy","handleCapture","e","capture","stopPropagation","handleFullScreen","resize","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon"],"sources":["live-player/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useRef } from 'react';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport { guidGenerator } from '../utils';\nimport { CloudControlPanel, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport Player from '../player';\nexport const LivePlayer = (props) => {\n const { url, width = '100%', height = '100%', captureName, type, talkUrl, cloudParams, showInfo = false, info = [], screenshot, } = 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 useEffect(() => {\n const container = ref.current;\n if (!url || !container)\n return;\n const player = new Player({ url, container, type });\n playerRef.current = player;\n setState({ loading: true });\n player\n .play()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n return () => {\n 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.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 }), _jsx(CaptureIcon, { onClick: handleCapture }), talkUrl && _jsx(TalkControl, { player: playerRef.current, url: talkUrl }), cloudParams && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] })));\n};\nexport default LivePlayer;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["LivePlayer","props","url","enableAgent","width","height","captureName","type","talkUrl","cloudParams","showInfo","info","screenshot","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useEffect","container","current","player","Player","then","destroy","handleCapture","e","capture","stopPropagation","handleFullScreen","resize","_jsxs","Object","assign","className","style","children","_jsx","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon"],"sources":["live-player/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useEffect, useRef } from 'react';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport { guidGenerator } from '../utils';\nimport { CloudControlPanel, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport Player from '../player';\nexport const LivePlayer = (props) => {\n const { url, enableAgent, width = '100%', height = '100%', captureName, type, talkUrl, cloudParams, showInfo = false, info = [], screenshot, } = 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 useEffect(() => {\n const container = ref.current;\n if (!url || !container)\n return;\n const player = new Player({ url, enableAgent, container, type });\n playerRef.current = player;\n setState({ loading: true });\n player\n .play()\n .then(() => setState({ play: true, error: false }))\n .catch(() => setState({ error: true }))\n .finally(() => setState({ loading: false }));\n return () => {\n 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.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 }), _jsx(CaptureIcon, { onClick: handleCapture }), talkUrl && _jsx(TalkControl, { player: playerRef.current, url: talkUrl }), cloudParams && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] })));\n};\nexport default LivePlayer;\n"],"mappings":"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"}
@@ -8,6 +8,8 @@ declare global {
8
8
  export declare type VideoType = 'flv' | 'hls' | 'hk_ws';
9
9
  interface ConstructorParams {
10
10
  url: string;
11
+ /**是否开启代理 */
12
+ enableAgent: boolean;
11
13
  /** 渲染容器 */
12
14
  container: HTMLDivElement;
13
15
  /** 是否直播,flv.js需要 */
@@ -27,6 +29,8 @@ declare class Player {
27
29
  url: string;
28
30
  /** 视频流格式 */
29
31
  type: VideoType;
32
+ /** 是否使用代理播放 */
33
+ enableAgent: boolean;
30
34
  private player;
31
35
  private video;
32
36
  /** 开始时间,历史回放需要 */
@@ -68,17 +68,22 @@ var Player = /*#__PURE__*/function () {
68
68
  /** 之前的视频播放速度,用于处理海康音量控制 */
69
69
 
70
70
  this.preSpeed = 1;
71
+ /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */
72
+
71
73
  var url = params.url,
74
+ _params$enableAgent = params.enableAgent,
75
+ enableAgent = _params$enableAgent === void 0 ? false : _params$enableAgent,
72
76
  container = params.container,
73
77
  _params$live = params.live,
74
78
  live = _params$live === void 0 ? true : _params$live,
75
79
  type = params.type,
76
80
  startTime = params.startTime,
77
81
  endTime = params.endTime;
78
- var playerParams = (0, _utils.getPlayerParams)(url, live, startTime, endTime);
82
+ var playerParams = (0, _utils.getPlayerParams)(url, enableAgent, live, startTime, endTime);
79
83
  this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值
80
84
 
81
85
  this.url = playerParams.url;
86
+ this.enableAgent = enableAgent;
82
87
  this.startTime = startTime;
83
88
  this.endTime = endTime;
84
89
  var video = document.createElement('video'); // 生成video元素
@@ -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","player","preSpeed","url","container","live","type","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","getElementById","play","JS_Play","playURL","mode","getHKTimeString","destroy","remove","JS_Stop","captureName","callback","time","name","moment","format","JS_CapturePicture","res","Capture","JS_Resize","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playbackRate","addEventListener","currentTime","seekTime","diff","_a","add","JS_Seek","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","context","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","link","href","download","style","display","body","click","removeChild","revokeObjectURL"],"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 FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\nimport { getHKTimeString, getPlayerParams } from '../utils';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n const { url, container, live = true, type, startTime, endTime } = params;\n const playerParams = getPlayerParams(url, live, startTime, endTime);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\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: live,\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 // 处理海康视频\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 video = document.getElementById(`${container.id}_playVideo0`);\n this.video = video;\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') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1);\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\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') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback(res);\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\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') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_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 {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\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') {\n const player = this.player;\n player.JS_Resume(1).then(() => 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') {\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') {\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","player","preSpeed","url","enableAgent","container","live","type","startTime","endTime","playerParams","getPlayerParams","video","document","createElement","className","muted","FlvJs","isSupported","appendChild","createPlayer","isLive","attachMediaElement","load","Hls","loadSource","attachMedia","window","JSPlugin","szId","id","szBasePath","iMaxSplit","iCurrentSplit","getElementById","play","JS_Play","playURL","mode","getHKTimeString","destroy","remove","JS_Stop","captureName","callback","time","name","moment","format","JS_CapturePicture","res","Capture","JS_Resize","volume","JS_SetVolume","speed","JS_Slow","JS_Fast","playbackRate","addEventListener","currentTime","seekTime","diff","_a","add","JS_Seek","JS_Pause","pause","JS_Resume","JS_StartTalk","JS_StopTalk","canvas","width","videoWidth","height","videoHeight","context","getContext","drawImage","dataURL","toBlob","blob","URL","createObjectURL","link","href","download","style","display","body","click","removeChild","revokeObjectURL"],"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 FlvJs from 'flv.js';\nimport Hls from 'hls.js';\nimport moment from 'moment';\nimport { getHKTimeString, getPlayerParams } from '../utils';\n/**\n * 视频播放核心类\n */\nclass Player {\n constructor(params) {\n this.player = null;\n /** 之前的视频播放速度,用于处理海康音量控制 */\n this.preSpeed = 1;\n /** 视频播放流是否走代理 - 是强制走代理,否通过判断 http协议,走代理配置 */\n const { url, enableAgent = false, container, live = true, type, startTime, endTime } = params;\n const playerParams = getPlayerParams(url, enableAgent, live, startTime, endTime);\n this.type = type || playerParams.type; // 如果不传递type,则通过url解析type值\n this.url = playerParams.url;\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: live,\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 // 处理海康视频\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 video = document.getElementById(`${container.id}_playVideo0`);\n this.video = video;\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') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1);\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n return player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n }\n else {\n return this.play();\n }\n }\n /** 销毁 */\n destroy() {\n if (this.type === 'flv') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hls') {\n const player = this.player;\n player.destroy();\n this.player = null;\n this.video.remove();\n }\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Stop(1);\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') {\n const player = this.player;\n if (player)\n player.JS_CapturePicture(1, name, 'JPEG', (res) => {\n callback(res);\n });\n }\n else {\n Capture(this.video, name, callback);\n }\n }\n /** 尺寸重置 */\n resize() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Resize();\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') {\n const player = this.player;\n player.JS_SetVolume(1, value);\n }\n }\n /**\n * 设置播放速度\n * @param speed\n */\n setSpeed(speed) {\n if (this.type === 'hk_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 {\n this.video.playbackRate = speed;\n }\n }\n /**\n * 时间更新事件\n * @param callback 回调函数\n */\n onTimeUpdate(callback) {\n this.video.addEventListener('timeupdate', () => {\n let currentTime = this.video.currentTime;\n if (this.type === 'hk_ws' && this.seekTime) {\n currentTime = currentTime + this.seekTime.diff(this.startTime, 'seconds');\n }\n callback(currentTime, this.type === 'hk_ws' ? this.preSpeed : this.video.playbackRate);\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const seekTime = (_a = moment(this.startTime)) === null || _a === void 0 ? void 0 : _a.add(time, 'seconds');\n yield player.JS_Seek(1, getHKTimeString(seekTime), getHKTimeString(this.endTime));\n this.seekTime = seekTime;\n }\n else {\n this.video.currentTime = time;\n return Promise.resolve();\n }\n });\n }\n /**\n * 暂停播放\n * @param callback 回调函数\n */\n pause(callback) {\n if (this.type === 'hk_ws') {\n const player = this.player;\n player.JS_Pause(1).then(() => callback && callback());\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') {\n const player = this.player;\n player.JS_Resume(1).then(() => 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') {\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') {\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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"}
@@ -7,6 +7,7 @@ export declare class JSPlugin {
7
7
  /**
8
8
  * 开始播放
9
9
  * @param url 流媒体地址
10
+ * @param enableAgent 是否使用代理播放
10
11
  * @param config 播放参数
11
12
  * @param windowIndex 当前窗口下标
12
13
  * @param startTime 开始时间
@@ -21,7 +21,7 @@ declare type PlayerParams = {
21
21
  * @param url
22
22
  * @returns
23
23
  */
24
- export declare const getPlayerParams: (url: string, live: boolean, startTime?: moment.MomentInput, endTime?: moment.MomentInput) => PlayerParams;
24
+ export declare const getPlayerParams: (url: string, enableAgent: boolean, live: boolean, startTime?: moment.MomentInput, endTime?: moment.MomentInput) => PlayerParams;
25
25
  /**
26
26
  * 获取历史回放表格数据
27
27
  * @param data
@@ -45,18 +45,17 @@ var guidGenerator = function guidGenerator() {
45
45
 
46
46
  exports.guidGenerator = guidGenerator;
47
47
 
48
- var initProtocol = function initProtocol(url) {
48
+ var initProtocol = function initProtocol(url, enableAgent) {
49
49
  var src = url;
50
- var isHttps = 'https:' === document.location.protocol;
51
50
 
52
- if (isHttps) {
51
+ if (enableAgent) {
53
52
  if (url.startsWith("http:")) {
54
53
  url = url.replace('http://', '');
55
54
  var ipPort = url.substring(0, url.indexOf('/'));
56
55
  var path = url.substring(url.indexOf('/'));
57
56
  src = '/visProxy/' + ipPort + '/play' + path;
58
57
  } else if (url.startsWith("ws:")) {
59
- url = url.replace('http://', '');
58
+ url = url.replace('ws://', '');
60
59
 
61
60
  var _ipPort = url.substring(0, url.indexOf('/'));
62
61
 
@@ -64,6 +63,28 @@ var initProtocol = function initProtocol(url) {
64
63
 
65
64
  src = 'wss://' + window.location.host + '/visProxy/' + _ipPort + '/play' + _path;
66
65
  }
66
+ } else {
67
+ var isHttps = 'https:' === document.location.protocol;
68
+
69
+ if (isHttps) {
70
+ if (url.startsWith("http:")) {
71
+ url = url.replace('http://', '');
72
+
73
+ var _ipPort2 = url.substring(0, url.indexOf('/'));
74
+
75
+ var _path2 = url.substring(url.indexOf('/'));
76
+
77
+ src = '/visProxy/' + _ipPort2 + '/play' + _path2;
78
+ } else if (url.startsWith("ws:")) {
79
+ url = url.replace('ws://', '');
80
+
81
+ var _ipPort3 = url.substring(0, url.indexOf('/'));
82
+
83
+ var _path3 = url.substring(url.indexOf('/'));
84
+
85
+ src = 'wss://' + window.location.host + '/visProxy/' + _ipPort3 + '/play' + _path3;
86
+ }
87
+ }
67
88
  }
68
89
 
69
90
  return src;
@@ -75,7 +96,7 @@ var initProtocol = function initProtocol(url) {
75
96
  */
76
97
 
77
98
 
78
- var getPlayerParams = function getPlayerParams(url, live, startTime, endTime) {
99
+ var getPlayerParams = function getPlayerParams(url, enableAgent, live, startTime, endTime) {
79
100
  var playerUrl = url;
80
101
  var playerType = 'flv';
81
102
 
@@ -105,7 +126,7 @@ var getPlayerParams = function getPlayerParams(url, live, startTime, endTime) {
105
126
  }
106
127
 
107
128
  return {
108
- url: initProtocol(playerUrl),
129
+ url: initProtocol(playerUrl, enableAgent),
109
130
  type: playerType
110
131
  };
111
132
  };
@@ -132,7 +153,8 @@ var getUrlTableData = function getUrlTableData(data) {
132
153
  size: bytesToMegaBytes(item.size),
133
154
  duration: secondsToString(totalSeconds),
134
155
  downloadUrl: '',
135
- url: item.playbackUrl || ''
156
+ url: item.playbackUrl || '',
157
+ enableAgent: data.enableAgent || false
136
158
  };
137
159
  });
138
160
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","src","isHttps","document","location","protocol","startsWith","replace","ipPort","indexOf","path","window","host","getPlayerParams","live","startTime","endTime","playerUrl","playerType","split","Base64","encode","getFlvListUrl","endsWith","type","getUrlTableData","data","result","list","map","item","i","beginTime","moment","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url) => {\n let src = url;\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, live, startTime, endTime) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n if (live) {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n else {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(getFlvListUrl(url, startTime, endTime))}`;\n }\n }\n if (url.endsWith('.m3u8')) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.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 deviceName: data.deviceName,\n channelName: data.channelName,\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 || '',\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nconst bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nconst secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getFlvListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["TimeFormat","guidGenerator","S4","Math","random","toString","substring","initProtocol","url","enableAgent","src","startsWith","replace","ipPort","indexOf","path","window","location","host","isHttps","document","protocol","getPlayerParams","live","startTime","endTime","playerUrl","playerType","split","Base64","encode","getFlvListUrl","endsWith","type","getUrlTableData","data","result","list","map","item","i","beginTime","moment","totalSeconds","diff","index","deviceName","channelName","format","params","size","bytesToMegaBytes","duration","secondsToString","downloadUrl","playbackUrl","bytes","pow","toFixed","total","hour","floor","minute","second","secondsToTime","getHKTimeString","time","getHKListUrl","totalUrl","query","urlParams","URLSearchParams","set","getUrlParam","key","href","paramObj","matchList","match","len","length","r"],"sources":["utils/index.js"],"sourcesContent":["import { Base64 } from 'js-base64';\nimport moment from 'moment';\n/** 时间格式枚举 */\nexport var TimeFormat;\n(function (TimeFormat) {\n TimeFormat[\"default\"] = \"YYYY-MM-DDTHH:mm:ss\";\n TimeFormat[\"params\"] = \"YYYY-MM-DD HH:mm:ss\";\n TimeFormat[\"url\"] = \"YYYYMMDDTHHmmss\";\n})(TimeFormat || (TimeFormat = {}));\n/** 生成随机ID */\nexport const guidGenerator = () => {\n const S4 = function () {\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\n };\n return S4() + S4() + '-' + S4() + '-' + S4() + '-' + S4() + '-' + S4() + S4() + S4();\n};\nconst initProtocol = (url, enableAgent) => {\n let src = url;\n if (enableAgent) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n else {\n const isHttps = 'https:' === document.location.protocol;\n if (isHttps) {\n if (url.startsWith(\"http:\")) {\n url = url.replace('http://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = '/visProxy/' + ipPort + '/play' + path;\n }\n else if (url.startsWith(\"ws:\")) {\n url = url.replace('ws://', '');\n const ipPort = url.substring(0, url.indexOf('/'));\n const path = url.substring(url.indexOf('/'));\n src = 'wss://' + window.location.host + '/visProxy/' + ipPort + '/play' + path;\n }\n }\n }\n return src;\n};\n/**\n * 获取视频直播地址及格式\n * @param url\n * @returns\n */\nexport const getPlayerParams = (url, enableAgent, live, startTime, endTime) => {\n let playerUrl = url;\n let playerType = 'flv';\n if (url.startsWith('ws://')) {\n playerType = 'hk_ws';\n if (live) {\n playerUrl = url;\n }\n else {\n playerUrl = url.split('?')[0];\n }\n }\n if (url.startsWith('rtsp://')) {\n playerType = 'flv';\n if (live) {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(url)}`;\n }\n else {\n playerUrl = `/cloud/vic/convert/flv/live.flv?url=${Base64.encode(getFlvListUrl(url, startTime, endTime))}`;\n }\n }\n if (url.endsWith('.m3u8')) {\n playerUrl = url;\n playerType = 'hls';\n }\n return { url: initProtocol(playerUrl, enableAgent), type: playerType };\n};\n/**\n * 获取历史回放表格数据\n * @param data\n * @returns\n */\nexport const getUrlTableData = (data) => {\n const result = data.list.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 deviceName: data.deviceName,\n channelName: data.channelName,\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 || '',\n enableAgent: data.enableAgent || false,\n };\n });\n return result;\n};\n/**\n * bytes转换mb\n * @param bytes\n * @returns\n */\nconst bytesToMegaBytes = (bytes) => `${(bytes / Math.pow(1024, 2)).toFixed(2)}MB`;\n/**\n * 秒数=>0时0分0秒\n * @param total\n * @returns\n */\nconst secondsToString = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour > 0 ? hour + '小时' : ''}${minute > 0 ? minute + '分' : ''}${second > 0 ? second + '秒' : ''}`;\n return result;\n};\n/**\n * 秒数=>00:00:00\n * @param total\n * @returns\n */\nexport const secondsToTime = (total) => {\n const hour = Math.floor(total / 3600);\n const minute = Math.floor((total % 3600) / 60);\n const second = Math.floor(total % 60);\n const result = `${hour >= 10 ? hour : '0' + hour}:${minute >= 10 ? minute : '0' + minute}:${second >= 10 ? second : '0' + second}`;\n return result;\n};\n/**\n * 获取海康时间参数\n * @param time 时间\n * @returns\n */\nexport const getHKTimeString = (time) => {\n return moment(time).format(TimeFormat.default) + 'Z';\n};\n/**\n * 获取海康分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getHKListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', getHKTimeString(startTime));\n urlParams.set('endTime', getHKTimeString(endTime));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n *\n * 获取flv格式分段播放地址\n * @param totalUrl 总播放地址\n * @param startTime 开始时间\n * @param endTime 结束时间\n * @returns\n */\nexport const getFlvListUrl = (totalUrl, startTime, endTime) => {\n const [url, query] = totalUrl.split('?');\n const urlParams = new URLSearchParams(query);\n urlParams.set('beginTime', moment(startTime).format(TimeFormat.url));\n urlParams.set('endTime', moment(endTime).format(TimeFormat.url));\n return `${url}?${urlParams.toString()}`;\n};\n/**\n * 获取地址栏中的参数信息\n * @param key 字段key\n * @param href 链接\n * @returns 字段值\n */\nexport const getUrlParam = (key, href = window.location.href) => {\n const paramObj = {};\n const matchList = href.match(/([^\\?&]+)=([^\\?&#]+)/g) || [];\n for (let i = 0, len = matchList.length; i < len; i++) {\n const r = matchList[i].match(/([^\\?&]+)=([^\\?&]+)/);\n paramObj[r[1]] = r[2];\n }\n if (key) {\n return paramObj[key];\n }\n else {\n return paramObj;\n }\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;;;;;;;AACA;AACO,IAAIA,UAAJ;;;AACP,CAAC,UAAUA,UAAV,EAAsB;EACnBA,UAAU,CAAC,SAAD,CAAV,GAAwB,qBAAxB;EACAA,UAAU,CAAC,QAAD,CAAV,GAAuB,qBAAvB;EACAA,UAAU,CAAC,KAAD,CAAV,GAAoB,iBAApB;AACH,CAJD,EAIGA,UAAU,0BAAKA,UAAU,GAAG,EAAlB,CAJb;AAKA;;;AACO,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,GAAM;EAC/B,IAAMC,EAAE,GAAG,SAALA,EAAK,GAAY;IACnB,OAAO,CAAE,CAAC,IAAIC,IAAI,CAACC,MAAL,EAAL,IAAsB,OAAvB,GAAkC,CAAnC,EAAsCC,QAAtC,CAA+C,EAA/C,EAAmDC,SAAnD,CAA6D,CAA7D,CAAP;EACH,CAFD;;EAGA,OAAOJ,EAAE,KAAKA,EAAE,EAAT,GAAc,GAAd,GAAoBA,EAAE,EAAtB,GAA2B,GAA3B,GAAiCA,EAAE,EAAnC,GAAwC,GAAxC,GAA8CA,EAAE,EAAhD,GAAqD,GAArD,GAA2DA,EAAE,EAA7D,GAAkEA,EAAE,EAApE,GAAyEA,EAAE,EAAlF;AACH,CALM;;;;AAMP,IAAMK,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,WAAN,EAAsB;EACvC,IAAIC,GAAG,GAAGF,GAAV;;EACA,IAAIC,WAAJ,EAAiB;IACb,IAAID,GAAG,CAACG,UAAJ,CAAe,OAAf,CAAJ,EAA6B;MACzBH,GAAG,GAAGA,GAAG,CAACI,OAAJ,CAAY,SAAZ,EAAuB,EAAvB,CAAN;MACA,IAAMC,MAAM,GAAGL,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAjB,CAAf;MACA,IAAMC,IAAI,GAAGP,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAd,CAAb;MACAJ,GAAG,GAAG,eAAeG,MAAf,GAAwB,OAAxB,GAAkCE,IAAxC;IACH,CALD,MAMK,IAAIP,GAAG,CAACG,UAAJ,CAAe,KAAf,CAAJ,EAA2B;MAC5BH,GAAG,GAAGA,GAAG,CAACI,OAAJ,CAAY,OAAZ,EAAqB,EAArB,CAAN;;MACA,IAAMC,OAAM,GAAGL,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;MACA,IAAMC,KAAI,GAAGP,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAd,CAAb;;MACAJ,GAAG,GAAG,WAAWM,MAAM,CAACC,QAAP,CAAgBC,IAA3B,GAAkC,YAAlC,GAAiDL,OAAjD,GAA0D,OAA1D,GAAoEE,KAA1E;IACH;EACJ,CAbD,MAcK;IACD,IAAMI,OAAO,GAAG,aAAaC,QAAQ,CAACH,QAAT,CAAkBI,QAA/C;;IACA,IAAIF,OAAJ,EAAa;MACT,IAAIX,GAAG,CAACG,UAAJ,CAAe,OAAf,CAAJ,EAA6B;QACzBH,GAAG,GAAGA,GAAG,CAACI,OAAJ,CAAY,SAAZ,EAAuB,EAAvB,CAAN;;QACA,IAAMC,QAAM,GAAGL,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;QACA,IAAMC,MAAI,GAAGP,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAd,CAAb;;QACAJ,GAAG,GAAG,eAAeG,QAAf,GAAwB,OAAxB,GAAkCE,MAAxC;MACH,CALD,MAMK,IAAIP,GAAG,CAACG,UAAJ,CAAe,KAAf,CAAJ,EAA2B;QAC5BH,GAAG,GAAGA,GAAG,CAACI,OAAJ,CAAY,OAAZ,EAAqB,EAArB,CAAN;;QACA,IAAMC,QAAM,GAAGL,GAAG,CAACF,SAAJ,CAAc,CAAd,EAAiBE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAjB,CAAf;;QACA,IAAMC,MAAI,GAAGP,GAAG,CAACF,SAAJ,CAAcE,GAAG,CAACM,OAAJ,CAAY,GAAZ,CAAd,CAAb;;QACAJ,GAAG,GAAG,WAAWM,MAAM,CAACC,QAAP,CAAgBC,IAA3B,GAAkC,YAAlC,GAAiDL,QAAjD,GAA0D,OAA1D,GAAoEE,MAA1E;MACH;IACJ;EACJ;;EACD,OAAOL,GAAP;AACH,CAlCD;AAmCA;AACA;AACA;AACA;AACA;;;AACO,IAAMY,eAAe,GAAG,SAAlBA,eAAkB,CAACd,GAAD,EAAMC,WAAN,EAAmBc,IAAnB,EAAyBC,SAAzB,EAAoCC,OAApC,EAAgD;EAC3E,IAAIC,SAAS,GAAGlB,GAAhB;EACA,IAAImB,UAAU,GAAG,KAAjB;;EACA,IAAInB,GAAG,CAACG,UAAJ,CAAe,OAAf,CAAJ,EAA6B;IACzBgB,UAAU,GAAG,OAAb;;IACA,IAAIJ,IAAJ,EAAU;MACNG,SAAS,GAAGlB,GAAZ;IACH,CAFD,MAGK;MACDkB,SAAS,GAAGlB,GAAG,CAACoB,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAZ;IACH;EACJ;;EACD,IAAIpB,GAAG,CAACG,UAAJ,CAAe,SAAf,CAAJ,EAA+B;IAC3BgB,UAAU,GAAG,KAAb;;IACA,IAAIJ,IAAJ,EAAU;MACNG,SAAS,iDAA0CG,cAAA,CAAOC,MAAP,CAActB,GAAd,CAA1C,CAAT;IACH,CAFD,MAGK;MACDkB,SAAS,iDAA0CG,cAAA,CAAOC,MAAP,CAAcC,aAAa,CAACvB,GAAD,EAAMgB,SAAN,EAAiBC,OAAjB,CAA3B,CAA1C,CAAT;IACH;EACJ;;EACD,IAAIjB,GAAG,CAACwB,QAAJ,CAAa,OAAb,CAAJ,EAA2B;IACvBN,SAAS,GAAGlB,GAAZ;IACAmB,UAAU,GAAG,KAAb;EACH;;EACD,OAAO;IAAEnB,GAAG,EAAED,YAAY,CAACmB,SAAD,EAAYjB,WAAZ,CAAnB;IAA6CwB,IAAI,EAAEN;EAAnD,CAAP;AACH,CA1BM;AA2BP;AACA;AACA;AACA;AACA;;;;;AACO,IAAMO,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAU;EACrC,IAAMC,MAAM,GAAGD,IAAI,CAACE,IAAL,CAAUC,GAAV,CAAc,UAACC,IAAD,EAAOC,CAAP,EAAa;IACtC,IAAMC,SAAS,GAAG,IAAAC,kBAAA,EAAOH,IAAI,CAACE,SAAZ,CAAlB;IACA,IAAMhB,OAAO,GAAG,IAAAiB,kBAAA,EAAOH,IAAI,CAACd,OAAZ,CAAhB;IACA,IAAMkB,YAAY,GAAG,IAAAD,kBAAA,EAAOjB,OAAP,EAAgBmB,IAAhB,CAAqB,IAAAF,kBAAA,EAAOD,SAAP,CAArB,EAAwC,SAAxC,CAArB;IACA,OAAO;MACHI,KAAK,EAAEL,CAAC,GAAG,CADR;MAEHM,UAAU,EAAEX,IAAI,CAACW,UAFd;MAGHC,WAAW,EAAEZ,IAAI,CAACY,WAHf;MAIHN,SAAS,EAAEA,SAAS,CAACO,MAAV,CAAiBhD,UAAU,CAACiD,MAA5B,CAJR;MAKHxB,OAAO,EAAEA,OAAO,CAACuB,MAAR,CAAehD,UAAU,CAACiD,MAA1B,CALN;MAMHC,IAAI,EAAEC,gBAAgB,CAACZ,IAAI,CAACW,IAAN,CANnB;MAOHE,QAAQ,EAAEC,eAAe,CAACV,YAAD,CAPtB;MAQHW,WAAW,EAAE,EARV;MASH9C,GAAG,EAAE+B,IAAI,CAACgB,WAAL,IAAoB,EATtB;MAUH9C,WAAW,EAAE0B,IAAI,CAAC1B,WAAL,IAAoB;IAV9B,CAAP;EAYH,CAhBc,CAAf;EAiBA,OAAO2B,MAAP;AACH,CAnBM;AAoBP;AACA;AACA;AACA;AACA;;;;;AACA,IAAMe,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACK,KAAD;EAAA,iBAAc,CAACA,KAAK,GAAGrD,IAAI,CAACsD,GAAL,CAAS,IAAT,EAAe,CAAf,CAAT,EAA4BC,OAA5B,CAAoC,CAApC,CAAd;AAAA,CAAzB;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAML,eAAe,GAAG,SAAlBA,eAAkB,CAACM,KAAD,EAAW;EAC/B,IAAMC,IAAI,GAAGzD,IAAI,CAAC0D,KAAL,CAAWF,KAAK,GAAG,IAAnB,CAAb;EACA,IAAMG,MAAM,GAAG3D,IAAI,CAAC0D,KAAL,CAAYF,KAAK,GAAG,IAAT,GAAiB,EAA5B,CAAf;EACA,IAAMI,MAAM,GAAG5D,IAAI,CAAC0D,KAAL,CAAWF,KAAK,GAAG,EAAnB,CAAf;EACA,IAAMvB,MAAM,aAAMwB,IAAI,GAAG,CAAP,GAAWA,IAAI,GAAG,IAAlB,GAAyB,EAA/B,SAAoCE,MAAM,GAAG,CAAT,GAAaA,MAAM,GAAG,GAAtB,GAA4B,EAAhE,SAAqEC,MAAM,GAAG,CAAT,GAAaA,MAAM,GAAG,GAAtB,GAA4B,EAAjG,CAAZ;EACA,OAAO3B,MAAP;AACH,CAND;AAOA;AACA;AACA;AACA;AACA;;;AACO,IAAM4B,aAAa,GAAG,SAAhBA,aAAgB,CAACL,KAAD,EAAW;EACpC,IAAMC,IAAI,GAAGzD,IAAI,CAAC0D,KAAL,CAAWF,KAAK,GAAG,IAAnB,CAAb;EACA,IAAMG,MAAM,GAAG3D,IAAI,CAAC0D,KAAL,CAAYF,KAAK,GAAG,IAAT,GAAiB,EAA5B,CAAf;EACA,IAAMI,MAAM,GAAG5D,IAAI,CAAC0D,KAAL,CAAWF,KAAK,GAAG,EAAnB,CAAf;EACA,IAAMvB,MAAM,aAAMwB,IAAI,IAAI,EAAR,GAAaA,IAAb,GAAoB,MAAMA,IAAhC,cAAwCE,MAAM,IAAI,EAAV,GAAeA,MAAf,GAAwB,MAAMA,MAAtE,cAAgFC,MAAM,IAAI,EAAV,GAAeA,MAAf,GAAwB,MAAMA,MAA9G,CAAZ;EACA,OAAO3B,MAAP;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;;;;;AACO,IAAM6B,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAU;EACrC,OAAO,IAAAxB,kBAAA,EAAOwB,IAAP,EAAalB,MAAb,CAAoBhD,UAAU,WAA9B,IAA0C,GAAjD;AACH,CAFM;AAGP;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMmE,YAAY,GAAG,SAAfA,YAAe,CAACC,QAAD,EAAW5C,SAAX,EAAsBC,OAAtB,EAAkC;EAC1D,sBAAqB2C,QAAQ,CAACxC,KAAT,CAAe,GAAf,CAArB;EAAA;EAAA,IAAOpB,GAAP;EAAA,IAAY6D,KAAZ;;EACA,IAAMC,SAAS,GAAG,IAAIC,eAAJ,CAAoBF,KAApB,CAAlB;EACAC,SAAS,CAACE,GAAV,CAAc,WAAd,EAA2BP,eAAe,CAACzC,SAAD,CAA1C;EACA8C,SAAS,CAACE,GAAV,CAAc,SAAd,EAAyBP,eAAe,CAACxC,OAAD,CAAxC;EACA,iBAAUjB,GAAV,cAAiB8D,SAAS,CAACjE,QAAV,EAAjB;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAM0B,aAAa,GAAG,SAAhBA,aAAgB,CAACqC,QAAD,EAAW5C,SAAX,EAAsBC,OAAtB,EAAkC;EAC3D,uBAAqB2C,QAAQ,CAACxC,KAAT,CAAe,GAAf,CAArB;EAAA;EAAA,IAAOpB,GAAP;EAAA,IAAY6D,KAAZ;;EACA,IAAMC,SAAS,GAAG,IAAIC,eAAJ,CAAoBF,KAApB,CAAlB;EACAC,SAAS,CAACE,GAAV,CAAc,WAAd,EAA2B,IAAA9B,kBAAA,EAAOlB,SAAP,EAAkBwB,MAAlB,CAAyBhD,UAAU,CAACQ,GAApC,CAA3B;EACA8D,SAAS,CAACE,GAAV,CAAc,SAAd,EAAyB,IAAA9B,kBAAA,EAAOjB,OAAP,EAAgBuB,MAAhB,CAAuBhD,UAAU,CAACQ,GAAlC,CAAzB;EACA,iBAAUA,GAAV,cAAiB8D,SAAS,CAACjE,QAAV,EAAjB;AACH,CANM;AAOP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMoE,WAAW,GAAG,SAAdA,WAAc,CAACC,GAAD,EAAsC;EAAA,IAAhCC,IAAgC,uEAAzB3D,MAAM,CAACC,QAAP,CAAgB0D,IAAS;EAC7D,IAAMC,QAAQ,GAAG,EAAjB;EACA,IAAMC,SAAS,GAAGF,IAAI,CAACG,KAAL,CAAW,uBAAX,KAAuC,EAAzD;;EACA,KAAK,IAAItC,CAAC,GAAG,CAAR,EAAWuC,GAAG,GAAGF,SAAS,CAACG,MAAhC,EAAwCxC,CAAC,GAAGuC,GAA5C,EAAiDvC,CAAC,EAAlD,EAAsD;IAClD,IAAMyC,CAAC,GAAGJ,SAAS,CAACrC,CAAD,CAAT,CAAasC,KAAb,CAAmB,qBAAnB,CAAV;IACAF,QAAQ,CAACK,CAAC,CAAC,CAAD,CAAF,CAAR,GAAiBA,CAAC,CAAC,CAAD,CAAlB;EACH;;EACD,IAAIP,GAAJ,EAAS;IACL,OAAOE,QAAQ,CAACF,GAAD,CAAf;EACH,CAFD,MAGK;IACD,OAAOE,QAAP;EACH;AACJ,CAbM"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtx/player",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "private": false,
5
5
  "description": "视频业务组件",
6
6
  "main": "./lib/index.js",