@vtx/player 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/index.d.ts +2 -0
- package/lib/api/index.js +12 -2
- package/lib/api/index.js.map +1 -1
- package/lib/api/types.d.ts +11 -0
- package/lib/controls/index.d.ts +4 -2
- package/lib/controls/index.js +18 -3
- package/lib/controls/index.js.map +1 -1
- package/lib/live-channel-player/index.js +0 -1
- package/lib/live-channel-player/index.js.map +1 -1
- package/lib/live-control/index.js +0 -1
- package/lib/live-control/index.js.map +1 -1
- package/lib/live-control-v2/index.js +2 -1
- package/lib/live-control-v2/index.js.map +1 -1
- package/lib/live-player/index.d.ts +4 -2
- package/lib/live-player/index.js +5 -3
- package/lib/live-player/index.js.map +1 -1
- package/lib/player/index.js +1 -1
- package/lib/player/index.js.map +1 -1
- package/package.json +1 -1
package/lib/api/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as Types from './types';
|
|
2
2
|
/** 获取预览地址 */
|
|
3
3
|
export declare const getPreviewUrl: (data: Types.GetPreviewUrlParams) => Promise<Types.GetPreviewUrlResp>;
|
|
4
|
+
/** 获取对讲地址 */
|
|
5
|
+
export declare const getTalkUrl: (data: Types.GetTalkUrlParams) => Promise<Types.GetPreviewUrlResp>;
|
|
4
6
|
/** 获取历史地址 */
|
|
5
7
|
export declare const getHistoryUrl: (data: Types.GetHistoryUrlParams) => Promise<Types.GetHistoryUrlResp>;
|
|
6
8
|
/** 获取历史地址 */
|
package/lib/api/index.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.videoLabelSave = exports.videoLabelList = exports.loadVideoInfo = exports.loadVideoChannel = exports.getVideoLabelById = exports.getPreviewUrl = exports.getPlaybackUrlSingle = exports.getHistoryUrls = exports.getHistoryUrl = exports.cloudControl = void 0;
|
|
6
|
+
exports.videoLabelSave = exports.videoLabelList = exports.loadVideoInfo = exports.loadVideoChannel = exports.getVideoLabelById = exports.getTalkUrl = exports.getPreviewUrl = exports.getPlaybackUrlSingle = exports.getHistoryUrls = exports.getHistoryUrl = exports.cloudControl = void 0;
|
|
7
7
|
|
|
8
8
|
var _fetch = _interopRequireDefault(require("./fetch"));
|
|
9
9
|
|
|
@@ -51,11 +51,21 @@ var getPreviewUrl = function getPreviewUrl(data) {
|
|
|
51
51
|
data: data
|
|
52
52
|
});
|
|
53
53
|
};
|
|
54
|
-
/**
|
|
54
|
+
/** 获取对讲地址 */
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
exports.getPreviewUrl = getPreviewUrl;
|
|
58
58
|
|
|
59
|
+
var getTalkUrl = function getTalkUrl(data) {
|
|
60
|
+
return (0, _fetch["default"])('/cloud/vis/base/np/artemis/talkUrl.smvc', 'GET', {
|
|
61
|
+
data: data
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
/** 获取历史地址 */
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
exports.getTalkUrl = getTalkUrl;
|
|
68
|
+
|
|
59
69
|
var getHistoryUrl = function getHistoryUrl(data) {
|
|
60
70
|
return (0, _fetch["default"])('/cloud/vis/base/np/artemis/playbackUrl.smvc', 'GET', {
|
|
61
71
|
data: data
|
package/lib/api/index.js.map
CHANGED
|
@@ -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","getPreviewUrl","data","Fetch","getHistoryUrl","getHistoryUrls","getPlaybackUrlSingle","loadVideoInfo","cloudControl","videoLabelSave","videoLabelList","getVideoLabelById","loadVideoChannel","channelId","parameters","JSON","stringify","videoChannelId","parseResult","parse"],"sources":["api/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 Fetch from './fetch';\n/** 获取预览地址 */\nexport const getPreviewUrl = (data) => Fetch('/cloud/vis/base/np/artemis/previewUrl.smvc', 'GET', {\n data,\n});\n/** 获取历史地址 */\nexport const getHistoryUrl = (data) => Fetch('/cloud/vis/base/np/artemis/playbackUrl.smvc', 'GET', {\n data,\n});\n/** 获取历史地址 */\nexport const getHistoryUrls = (data) => Fetch('/cloud/vis/base/np/artemis/playbackUrls.smvc', 'GET', {\n data,\n});\nexport const getPlaybackUrlSingle = (data) => Fetch('/cloud/vis/base/np/artemis/playbackUrlSingle.smvc', 'GET', {\n data,\n});\n/** 获取视频信息 */\nexport const loadVideoInfo = (data) => Fetch('/cloud/vis/base/np/videoCommon/loadVideoInfos.smvc', 'GET', {\n data,\n});\n/** 云台控制 */\nexport const cloudControl = (data) => Fetch('/cloud/vis/base/np/artemis/controlling.smvc', 'GET', {\n data,\n});\n/** 设置视频标签 */\nexport const videoLabelSave = (data) => Fetch('/cloud/vis/base/cp/videoLabel/save.smvc', 'POST', {\n data,\n});\n/** 获取视历史频标签list */\nexport const videoLabelList = (data) => Fetch('/cloud/vis/base/cp/videoLabel/list.smvc', 'GET', {\n data,\n});\n/** 根据Id查询历史视频标签 */\nexport const getVideoLabelById = (data) => Fetch('/cloud/vis/base/cp/videoLabel/get.smvc', 'GET', {\n data,\n});\n/**\n * 获取通道信息\n * @param channelId 通道ID\n * @returns\n */\nexport const loadVideoChannel = (channelId) => __awaiter(void 0, void 0, void 0, function* () {\n const result = yield Fetch('/cloud/vis/base/np/videoDevice/loadTheVideoChannel.smvc', 'GET', {\n data: { parameters: JSON.stringify({ videoChannelId: channelId }) },\n });\n const parseResult = JSON.parse(result);\n return parseResult[0];\n});\n"],"mappings":";;;;;;;AASA;;;;;;+CARA,oJ;;AADA,IAAIA,SAAS,GAAI,UAAQ,SAAKA,SAAd,IAA4B,UAAUC,OAAV,EAAmBC,UAAnB,EAA+BC,CAA/B,EAAkCC,SAAlC,EAA6C;EACrF,SAASC,KAAT,CAAeC,KAAf,EAAsB;IAAE,OAAOA,KAAK,YAAYH,CAAjB,GAAqBG,KAArB,GAA6B,IAAIH,CAAJ,CAAM,UAAUI,OAAV,EAAmB;MAAEA,OAAO,CAACD,KAAD,CAAP;IAAiB,CAA5C,CAApC;EAAoF;;EAC5G,OAAO,KAAKH,CAAC,KAAKA,CAAC,GAAGK,OAAT,CAAN,EAAyB,UAAUD,OAAV,EAAmBE,MAAnB,EAA2B;IACvD,SAASC,SAAT,CAAmBJ,KAAnB,EAA0B;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAACQ,IAAV,CAAeN,KAAf,CAAD,CAAJ;MAA8B,CAApC,CAAqC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC3F,SAASC,QAAT,CAAkBR,KAAlB,EAAyB;MAAE,IAAI;QAAEK,IAAI,CAACP,SAAS,CAAC,OAAD,CAAT,CAAmBE,KAAnB,CAAD,CAAJ;MAAkC,CAAxC,CAAyC,OAAOO,CAAP,EAAU;QAAEJ,MAAM,CAACI,CAAD,CAAN;MAAY;IAAE;;IAC9F,SAASF,IAAT,CAAcI,MAAd,EAAsB;MAAEA,MAAM,CAACC,IAAP,GAAcT,OAAO,CAACQ,MAAM,CAACT,KAAR,CAArB,GAAsCD,KAAK,CAACU,MAAM,CAACT,KAAR,CAAL,CAAoBW,IAApB,CAAyBP,SAAzB,EAAoCI,QAApC,CAAtC;IAAsF;;IAC9GH,IAAI,CAAC,CAACP,SAAS,GAAGA,SAAS,CAACc,KAAV,CAAgBjB,OAAhB,EAAyBC,UAAU,IAAI,EAAvC,CAAb,EAAyDU,IAAzD,EAAD,CAAJ;EACH,CALM,CAAP;AAMH,CARD;;AAUA;AACO,IAAMO,aAAa,GAAG,SAAhBA,aAAgB,CAACC,IAAD;EAAA,OAAU,IAAAC,iBAAA,EAAM,4CAAN,EAAoD,KAApD,EAA2D;IAC9FD,IAAI,EAAJA;EAD8F,CAA3D,CAAV;AAAA,CAAtB;AAGP;;;;;AACO,IAAME,aAAa,GAAG,SAAhBA,aAAgB,
|
|
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","getPreviewUrl","data","Fetch","getTalkUrl","getHistoryUrl","getHistoryUrls","getPlaybackUrlSingle","loadVideoInfo","cloudControl","videoLabelSave","videoLabelList","getVideoLabelById","loadVideoChannel","channelId","parameters","JSON","stringify","videoChannelId","parseResult","parse"],"sources":["api/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 Fetch from './fetch';\n/** 获取预览地址 */\nexport const getPreviewUrl = (data) => Fetch('/cloud/vis/base/np/artemis/previewUrl.smvc', 'GET', {\n data,\n});\n/** 获取对讲地址 */\nexport const getTalkUrl = (data) => Fetch('/cloud/vis/base/np/artemis/talkUrl.smvc', 'GET', {\n data,\n});\n/** 获取历史地址 */\nexport const getHistoryUrl = (data) => Fetch('/cloud/vis/base/np/artemis/playbackUrl.smvc', 'GET', {\n data,\n});\n/** 获取历史地址 */\nexport const getHistoryUrls = (data) => Fetch('/cloud/vis/base/np/artemis/playbackUrls.smvc', 'GET', {\n data,\n});\nexport const getPlaybackUrlSingle = (data) => Fetch('/cloud/vis/base/np/artemis/playbackUrlSingle.smvc', 'GET', {\n data,\n});\n/** 获取视频信息 */\nexport const loadVideoInfo = (data) => Fetch('/cloud/vis/base/np/videoCommon/loadVideoInfos.smvc', 'GET', {\n data,\n});\n/** 云台控制 */\nexport const cloudControl = (data) => Fetch('/cloud/vis/base/np/artemis/controlling.smvc', 'GET', {\n data,\n});\n/** 设置视频标签 */\nexport const videoLabelSave = (data) => Fetch('/cloud/vis/base/cp/videoLabel/save.smvc', 'POST', {\n data,\n});\n/** 获取视历史频标签list */\nexport const videoLabelList = (data) => Fetch('/cloud/vis/base/cp/videoLabel/list.smvc', 'GET', {\n data,\n});\n/** 根据Id查询历史视频标签 */\nexport const getVideoLabelById = (data) => Fetch('/cloud/vis/base/cp/videoLabel/get.smvc', 'GET', {\n data,\n});\n/**\n * 获取通道信息\n * @param channelId 通道ID\n * @returns\n */\nexport const loadVideoChannel = (channelId) => __awaiter(void 0, void 0, void 0, function* () {\n const result = yield Fetch('/cloud/vis/base/np/videoDevice/loadTheVideoChannel.smvc', 'GET', {\n data: { parameters: JSON.stringify({ videoChannelId: channelId }) },\n });\n const parseResult = JSON.parse(result);\n return parseResult[0];\n});\n"],"mappings":"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"}
|
package/lib/api/types.d.ts
CHANGED
|
@@ -30,6 +30,17 @@ export interface GetPreviewUrlParams {
|
|
|
30
30
|
/** 协议 */
|
|
31
31
|
protocol?: string;
|
|
32
32
|
}
|
|
33
|
+
/** 获取预览地址Params */
|
|
34
|
+
export interface GetTalkUrlParams {
|
|
35
|
+
/** 频道号 */
|
|
36
|
+
channelNum: string;
|
|
37
|
+
/** 设备ID */
|
|
38
|
+
deviceId: string;
|
|
39
|
+
/** tenantId */
|
|
40
|
+
tenantId?: string;
|
|
41
|
+
/** 连接模式*/
|
|
42
|
+
linkMode: string;
|
|
43
|
+
}
|
|
33
44
|
/** 历史地址子项 */
|
|
34
45
|
export interface HistoryUrlItem {
|
|
35
46
|
/** 开始时间 */
|
package/lib/controls/index.d.ts
CHANGED
|
@@ -34,8 +34,10 @@ export declare const PlayerHeader: (props: PlayerHeaderProps) => JSX.Element;
|
|
|
34
34
|
interface TalkControlProps {
|
|
35
35
|
/** 播放器 */
|
|
36
36
|
player?: Player;
|
|
37
|
-
/**
|
|
38
|
-
|
|
37
|
+
/** 设备id */
|
|
38
|
+
deviceId: string;
|
|
39
|
+
/** 通道号 */
|
|
40
|
+
channelNum: string;
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
43
|
* 对讲控制器
|
package/lib/controls/index.js
CHANGED
|
@@ -25,10 +25,14 @@ var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
|
25
25
|
|
|
26
26
|
var _spin = _interopRequireDefault(require("antd/lib/spin"));
|
|
27
27
|
|
|
28
|
+
var _message = _interopRequireDefault(require("antd/lib/message"));
|
|
29
|
+
|
|
28
30
|
var _arrow = _interopRequireDefault(require("./images/arrow.png"));
|
|
29
31
|
|
|
30
32
|
var _error = _interopRequireDefault(require("./images/error.png"));
|
|
31
33
|
|
|
34
|
+
var _utils = require("@/utils");
|
|
35
|
+
|
|
32
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
33
37
|
|
|
34
38
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
@@ -250,7 +254,8 @@ exports.PlayerHeader = PlayerHeader;
|
|
|
250
254
|
|
|
251
255
|
var TalkControl = function TalkControl(props) {
|
|
252
256
|
var player = props.player,
|
|
253
|
-
|
|
257
|
+
deviceId = props.deviceId,
|
|
258
|
+
channelNum = props.channelNum;
|
|
254
259
|
|
|
255
260
|
var _useState5 = (0, _react.useState)(false),
|
|
256
261
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
@@ -263,8 +268,18 @@ var TalkControl = function TalkControl(props) {
|
|
|
263
268
|
return setActive(false);
|
|
264
269
|
});
|
|
265
270
|
} else {
|
|
266
|
-
|
|
267
|
-
|
|
271
|
+
(0, _api.getTalkUrl)({
|
|
272
|
+
deviceId: deviceId,
|
|
273
|
+
channelNum: channelNum,
|
|
274
|
+
tenantId: (0, _utils.getUrlParam)('tenantId'),
|
|
275
|
+
linkMode: 'wss'
|
|
276
|
+
}).then(function (res) {
|
|
277
|
+
if (!res.url) _message["default"].error('语音对讲失败!');
|
|
278
|
+
var urls = res.url.split('/proxy');
|
|
279
|
+
var str = "wss://".concat(location.host, "/proxy").concat(urls[1]);
|
|
280
|
+
player === null || player === void 0 ? void 0 : player.startTalk(str).then(function () {
|
|
281
|
+
return setActive(true);
|
|
282
|
+
});
|
|
268
283
|
});
|
|
269
284
|
}
|
|
270
285
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["VolumeControl","props","defaultValue","player","container","useState","value","setValue","preValueRef","useRef","handleChange","val","current","setVolume","content","_jsxs","Object","assign","className","children","_jsx","Slider","vertical","onChange","max","handleVisibleChange","visible","style","opacity","removeProperty","handleMuted","Popover","title","overlayClassName","onVisibleChange","getPopupContainer","document","getElementsByClassName","onClick","VolumeMutedIcon","VolumeLargeIcon","VolumeSmallIcon","SpeedControl","setSpeed","list","map","i","toFixed","ErrorState","src","errorImg","alt","Button","type","LoadingState","Spin","size","PlayerHeader","name","onClose","extraButton","CloseIcon","e","stopPropagation","TalkControl","url","active","setActive","handleClick","stopTalk","then","startTalk","TalkIcon","TalkDisableIcon","CloudControlPanel","query","useRequest","cloudControl","manual","run","handleEvent","action","command","_Fragment","CloudControlArrow","event","Space","CloudControlButton","text","onAddDown","onAddUp","onReduceDown","onReduceUp","arrowImg","onMouseDown","onMouseUp","STYLE","leftTop","left","top","leftBottom","bottom","rightTop","right","rightBottom","InfoPanel","showInfo","info","position","item","index"],"sources":["controls/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useRef, useState } from 'react';\nimport { cloudControl } from '../api';\nimport { CloseIcon, TalkDisableIcon, TalkIcon, VolumeLargeIcon, VolumeMutedIcon, VolumeSmallIcon, } from '../icons';\nimport { useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport Popover from 'antd/lib/popover';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport arrowImg from './images/arrow.png';\nimport errorImg from './images/error.png';\n/** 音量控制 */\nexport const VolumeControl = (props) => {\n const { defaultValue = 0, player, container } = props;\n const [value, setValue] = useState(defaultValue);\n const preValueRef = useRef(defaultValue);\n const handleChange = (val) => {\n preValueRef.current = val;\n player === null || player === void 0 ? void 0 : player.setVolume(val);\n setValue(val);\n };\n const content = (_jsxs(\"div\", Object.assign({ className: \"volume-content\" }, { children: [_jsx(\"span\", Object.assign({ className: \"value\" }, { children: value })), _jsx(Slider, { vertical: true, value: value, onChange: handleChange, max: 100 })] })));\n const handleVisibleChange = (visible) => {\n if (container) {\n if (visible) {\n container.style.opacity = '1';\n }\n else {\n container.style.removeProperty('opacity');\n }\n }\n };\n const handleMuted = () => {\n if (value === 0) {\n handleChange(preValueRef.current);\n }\n else {\n handleChange(0);\n }\n };\n return (_jsx(Popover, Object.assign({ title: null, content: content, overlayClassName: \"player-control-popover\", onVisibleChange: handleVisibleChange, getPopupContainer: () => {\n return (document.getElementsByClassName(\"vtx-live-player\")[0] || document.getElementsByClassName(\"vtx-history-player\")[0]);\n } }, { children: _jsx(\"div\", Object.assign({ onClick: handleMuted }, { children: value === 0 ? (_jsx(VolumeMutedIcon, {})) : value > 50 ? (_jsx(VolumeLargeIcon, {})) : (_jsx(VolumeSmallIcon, {})) })) })));\n};\n/** 速度控制 */\nexport const SpeedControl = (props) => {\n const { defaultValue = 1, player, container } = props;\n const [value, setValue] = useState(defaultValue);\n const handleChange = (val) => {\n player === null || player === void 0 ? void 0 : player.setSpeed(val);\n setValue(val);\n };\n const content = () => {\n const list = [0.5, 1, 2, 4, 8];\n return (_jsx(\"div\", Object.assign({ className: \"speed-content\" }, { children: list.map((i) => (_jsx(\"div\", Object.assign({ className: \"item\", onClick: () => handleChange(i) }, { children: `${i.toFixed(1)}x` }), i))) })));\n };\n const handleVisibleChange = (visible) => {\n if (container) {\n if (visible) {\n container.style.opacity = '1';\n }\n else {\n container.style.removeProperty('opacity');\n }\n }\n };\n return (_jsx(Popover, Object.assign({ title: null, content: content, overlayClassName: \"player-control-popover\", onVisibleChange: handleVisibleChange }, { children: _jsx(\"div\", Object.assign({ className: \"vtx-player-speed-control\", title: '\\u500D\\u901F' }, { children: `${value.toFixed(1)}x` })) })));\n};\nexport const ErrorState = (props) => {\n const { onClick } = props;\n return (_jsxs(\"div\", Object.assign({ className: \"error-container\" }, { children: [_jsx(\"img\", { src: errorImg, alt: \"\\u64AD\\u653E\\u9519\\u8BEF\" }), _jsx(\"span\", Object.assign({ className: \"text\" }, { children: \"\\u89C6\\u9891\\u64AD\\u653E\\u5931\\u8D25\\uFF0C\\u8BF7\\u7A0D\\u540E\\u91CD\\u8BD5\" })), onClick && (_jsx(Button, Object.assign({ onClick: () => onClick(), type: \"primary\" }, { children: \"\\u70B9\\u51FB\\u91CD\\u8BD5\" })))] })));\n};\nexport const LoadingState = () => {\n return (_jsx(\"div\", Object.assign({ className: \"loading-container\" }, { children: _jsx(Spin, { size: \"large\" }) })));\n};\n/** 播放器头部 */\nexport const PlayerHeader = (props) => {\n const { name, onClose, extraButton } = props;\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-player-header\" }, { children: [_jsx(\"span\", Object.assign({ className: \"title\" }, { children: name })), extraButton ? extraButton : null, _jsx(\"span\", Object.assign({ className: \"close\" }, { children: _jsx(CloseIcon, { onClick: (e) => {\n onClose();\n e.stopPropagation();\n } }) }))] })));\n};\n/**\n * 对讲控制器\n * @returns\n */\nexport const TalkControl = (props) => {\n const { player, url } = props;\n const [active, setActive] = useState(false);\n const handleClick = () => {\n if (active) {\n player === null || player === void 0 ? void 0 : player.stopTalk().then(() => setActive(false));\n }\n else {\n player === null || player === void 0 ? void 0 : player.startTalk(url).then(() => setActive(true));\n }\n };\n return (_jsx(\"div\", { children: active ? (_jsx(TalkIcon, { active: true, onClick: handleClick })) : (_jsx(TalkDisableIcon, { active: false, onClick: handleClick })) }));\n};\n/** 云台控制面板 */\nexport const CloudControlPanel = (props) => {\n const { query, type } = props;\n const { run } = useRequest(cloudControl, { manual: true });\n const handleEvent = (action, command) => {\n run(Object.assign(Object.assign({}, query), { action, command }));\n };\n return (_jsxs(\"div\", Object.assign({ className: \"cloud-control-panel\" }, { children: [type !== 'onlyFocus' && (_jsxs(_Fragment, { children: [_jsx(CloudControlArrow, { name: \"up\", event: handleEvent, type: \"UP\" }), _jsx(CloudControlArrow, { name: \"down\", event: handleEvent, type: \"DOWN\" }), _jsx(CloudControlArrow, { name: \"left\", event: handleEvent, type: \"LEFT\" }), _jsx(CloudControlArrow, { name: \"right\", event: handleEvent, type: \"RIGHT\" }), _jsx(CloudControlArrow, { name: \"left-up\", event: handleEvent, type: \"LEFT_UP\" }), _jsx(CloudControlArrow, { name: \"left-down\", event: handleEvent, type: \"LEFT_DOWN\" }), _jsx(CloudControlArrow, { name: \"right-up\", event: handleEvent, type: \"RIGHT_UP\" }), _jsx(CloudControlArrow, { name: \"right-down\", event: handleEvent, type: \"RIGHT_DOWN\" })] })), type !== 'onlyRotate' && (_jsxs(Space, Object.assign({ className: \"buttons\" }, { children: [_jsx(CloudControlButton, { text: \"\\u7126\\u8DDD\", onAddDown: () => handleEvent(1, 'ZOOM_IN'), onAddUp: () => handleEvent(0, 'ZOOM_IN'), onReduceDown: () => handleEvent(1, 'ZOOM_OUT'), onReduceUp: () => handleEvent(0, 'ZOOM_OUT') }), _jsx(CloudControlButton, { text: \"\\u5149\\u5708\", onAddDown: () => handleEvent(1, 'IRIS_ENLARGE'), onAddUp: () => handleEvent(0, 'IRIS_ENLARGE'), onReduceDown: () => handleEvent(1, 'IRIS_REDUCE'), onReduceUp: () => handleEvent(0, 'IRIS_REDUCE') }), _jsx(CloudControlButton, { text: \"\\u8DDD\\u79BB\", onAddDown: () => handleEvent(1, 'FOCUS_NEAR'), onAddUp: () => handleEvent(0, 'FOCUS_NEAR'), onReduceDown: () => handleEvent(1, 'FOCUS_FAR'), onReduceUp: () => handleEvent(0, 'FOCUS_FAR') })] })))] })));\n};\n/** 云台控制箭头 */\nconst CloudControlArrow = (props) => {\n const { name = '', event, type } = props;\n return (_jsx(\"img\", { className: `arrow ${name}`, src: arrowImg, onMouseDown: () => event(1, type), onMouseUp: () => event(0, type) }));\n};\n/** 云台控制按钮 */\nconst CloudControlButton = (props) => {\n const { text, onAddDown, onAddUp, onReduceDown, onReduceUp } = props;\n return (_jsxs(\"div\", Object.assign({ className: \"control-button\" }, { children: [_jsx(\"span\", Object.assign({ className: \"icon\", onMouseDown: onReduceDown, onMouseUp: onReduceUp }, { children: \"+\" })), _jsx(\"span\", Object.assign({ className: \"text\" }, { children: text })), _jsx(\"span\", Object.assign({ className: \"icon\", onMouseDown: onAddDown, onMouseUp: onAddUp }, { children: \"-\" }))] })));\n};\nconst STYLE = {\n leftTop: {\n left: 8,\n top: 8,\n },\n leftBottom: {\n left: 8,\n bottom: 8,\n },\n rightTop: {\n right: 8,\n top: 8,\n },\n rightBottom: {\n right: 8,\n bottom: 8,\n },\n};\n/** 信息展示 */\nexport const InfoPanel = (props) => {\n const { showInfo, info } = props;\n const position = showInfo ? (showInfo === true ? 'rightTop' : showInfo) : false;\n return position ? (_jsx(\"div\", Object.assign({ className: \"infoPanel\", style: STYLE[position] }, { children: info === null || info === void 0 ? void 0 : info.map((item, index) => {\n return _jsx(\"div\", { children: `${item[0]}: ${item[1]}` }, index);\n }) }))) : (_jsx(_Fragment, {}));\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["VolumeControl","props","defaultValue","player","container","useState","value","setValue","preValueRef","useRef","handleChange","val","current","setVolume","content","_jsxs","Object","assign","className","children","_jsx","Slider","vertical","onChange","max","handleVisibleChange","visible","style","opacity","removeProperty","handleMuted","Popover","title","overlayClassName","onVisibleChange","getPopupContainer","document","getElementsByClassName","onClick","VolumeMutedIcon","VolumeLargeIcon","VolumeSmallIcon","SpeedControl","setSpeed","list","map","i","toFixed","ErrorState","src","errorImg","alt","Button","type","LoadingState","Spin","size","PlayerHeader","name","onClose","extraButton","CloseIcon","e","stopPropagation","TalkControl","deviceId","channelNum","active","setActive","handleClick","stopTalk","then","getTalkUrl","tenantId","getUrlParam","linkMode","res","url","message","error","urls","split","str","location","host","startTalk","TalkIcon","TalkDisableIcon","CloudControlPanel","query","useRequest","cloudControl","manual","run","handleEvent","action","command","_Fragment","CloudControlArrow","event","Space","CloudControlButton","text","onAddDown","onAddUp","onReduceDown","onReduceUp","arrowImg","onMouseDown","onMouseUp","STYLE","leftTop","left","top","leftBottom","bottom","rightTop","right","rightBottom","InfoPanel","showInfo","info","position","item","index"],"sources":["controls/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useRef, useState } from 'react';\nimport { cloudControl } from '../api';\nimport { CloseIcon, TalkDisableIcon, TalkIcon, VolumeLargeIcon, VolumeMutedIcon, VolumeSmallIcon, } from '../icons';\nimport { useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport Popover from 'antd/lib/popover';\nimport Slider from 'antd/lib/slider';\nimport Space from 'antd/lib/space';\nimport Spin from 'antd/lib/spin';\nimport message from 'antd/lib/message';\nimport { getTalkUrl } from '../api';\nimport arrowImg from './images/arrow.png';\nimport errorImg from './images/error.png';\nimport { getUrlParam } from \"@/utils\";\n/** 音量控制 */\nexport const VolumeControl = (props) => {\n const { defaultValue = 0, player, container } = props;\n const [value, setValue] = useState(defaultValue);\n const preValueRef = useRef(defaultValue);\n const handleChange = (val) => {\n preValueRef.current = val;\n player === null || player === void 0 ? void 0 : player.setVolume(val);\n setValue(val);\n };\n const content = (_jsxs(\"div\", Object.assign({ className: \"volume-content\" }, { children: [_jsx(\"span\", Object.assign({ className: \"value\" }, { children: value })), _jsx(Slider, { vertical: true, value: value, onChange: handleChange, max: 100 })] })));\n const handleVisibleChange = (visible) => {\n if (container) {\n if (visible) {\n container.style.opacity = '1';\n }\n else {\n container.style.removeProperty('opacity');\n }\n }\n };\n const handleMuted = () => {\n if (value === 0) {\n handleChange(preValueRef.current);\n }\n else {\n handleChange(0);\n }\n };\n return (_jsx(Popover, Object.assign({ title: null, content: content, overlayClassName: \"player-control-popover\", onVisibleChange: handleVisibleChange, getPopupContainer: () => {\n return (document.getElementsByClassName(\"vtx-live-player\")[0] || document.getElementsByClassName(\"vtx-history-player\")[0]);\n } }, { children: _jsx(\"div\", Object.assign({ onClick: handleMuted }, { children: value === 0 ? (_jsx(VolumeMutedIcon, {})) : value > 50 ? (_jsx(VolumeLargeIcon, {})) : (_jsx(VolumeSmallIcon, {})) })) })));\n};\n/** 速度控制 */\nexport const SpeedControl = (props) => {\n const { defaultValue = 1, player, container } = props;\n const [value, setValue] = useState(defaultValue);\n const handleChange = (val) => {\n player === null || player === void 0 ? void 0 : player.setSpeed(val);\n setValue(val);\n };\n const content = () => {\n const list = [0.5, 1, 2, 4, 8];\n return (_jsx(\"div\", Object.assign({ className: \"speed-content\" }, { children: list.map((i) => (_jsx(\"div\", Object.assign({ className: \"item\", onClick: () => handleChange(i) }, { children: `${i.toFixed(1)}x` }), i))) })));\n };\n const handleVisibleChange = (visible) => {\n if (container) {\n if (visible) {\n container.style.opacity = '1';\n }\n else {\n container.style.removeProperty('opacity');\n }\n }\n };\n return (_jsx(Popover, Object.assign({ title: null, content: content, overlayClassName: \"player-control-popover\", onVisibleChange: handleVisibleChange }, { children: _jsx(\"div\", Object.assign({ className: \"vtx-player-speed-control\", title: '\\u500D\\u901F' }, { children: `${value.toFixed(1)}x` })) })));\n};\nexport const ErrorState = (props) => {\n const { onClick } = props;\n return (_jsxs(\"div\", Object.assign({ className: \"error-container\" }, { children: [_jsx(\"img\", { src: errorImg, alt: \"\\u64AD\\u653E\\u9519\\u8BEF\" }), _jsx(\"span\", Object.assign({ className: \"text\" }, { children: \"\\u89C6\\u9891\\u64AD\\u653E\\u5931\\u8D25\\uFF0C\\u8BF7\\u7A0D\\u540E\\u91CD\\u8BD5\" })), onClick && (_jsx(Button, Object.assign({ onClick: () => onClick(), type: \"primary\" }, { children: \"\\u70B9\\u51FB\\u91CD\\u8BD5\" })))] })));\n};\nexport const LoadingState = () => {\n return (_jsx(\"div\", Object.assign({ className: \"loading-container\" }, { children: _jsx(Spin, { size: \"large\" }) })));\n};\n/** 播放器头部 */\nexport const PlayerHeader = (props) => {\n const { name, onClose, extraButton } = props;\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-player-header\" }, { children: [_jsx(\"span\", Object.assign({ className: \"title\" }, { children: name })), extraButton ? extraButton : null, _jsx(\"span\", Object.assign({ className: \"close\" }, { children: _jsx(CloseIcon, { onClick: (e) => {\n onClose();\n e.stopPropagation();\n } }) }))] })));\n};\n/**\n * 对讲控制器\n * @returns\n */\nexport const TalkControl = (props) => {\n const { player, deviceId, channelNum } = props;\n const [active, setActive] = useState(false);\n const handleClick = () => {\n if (active) {\n player === null || player === void 0 ? void 0 : player.stopTalk().then(() => setActive(false));\n }\n else {\n getTalkUrl({\n deviceId,\n channelNum,\n tenantId: getUrlParam('tenantId'),\n linkMode: 'wss'\n }).then(res => {\n if (!res.url)\n message.error('语音对讲失败!');\n const urls = res.url.split('/proxy');\n const str = `wss://${location.host}/proxy${urls[1]}`;\n player === null || player === void 0 ? void 0 : player.startTalk(str).then(() => setActive(true));\n });\n }\n };\n return (_jsx(\"div\", { children: active ? (_jsx(TalkIcon, { active: true, onClick: handleClick })) : (_jsx(TalkDisableIcon, { active: false, onClick: handleClick })) }));\n};\n/** 云台控制面板 */\nexport const CloudControlPanel = (props) => {\n const { query, type } = props;\n const { run } = useRequest(cloudControl, { manual: true });\n const handleEvent = (action, command) => {\n run(Object.assign(Object.assign({}, query), { action, command }));\n };\n return (_jsxs(\"div\", Object.assign({ className: \"cloud-control-panel\" }, { children: [type !== 'onlyFocus' && (_jsxs(_Fragment, { children: [_jsx(CloudControlArrow, { name: \"up\", event: handleEvent, type: \"UP\" }), _jsx(CloudControlArrow, { name: \"down\", event: handleEvent, type: \"DOWN\" }), _jsx(CloudControlArrow, { name: \"left\", event: handleEvent, type: \"LEFT\" }), _jsx(CloudControlArrow, { name: \"right\", event: handleEvent, type: \"RIGHT\" }), _jsx(CloudControlArrow, { name: \"left-up\", event: handleEvent, type: \"LEFT_UP\" }), _jsx(CloudControlArrow, { name: \"left-down\", event: handleEvent, type: \"LEFT_DOWN\" }), _jsx(CloudControlArrow, { name: \"right-up\", event: handleEvent, type: \"RIGHT_UP\" }), _jsx(CloudControlArrow, { name: \"right-down\", event: handleEvent, type: \"RIGHT_DOWN\" })] })), type !== 'onlyRotate' && (_jsxs(Space, Object.assign({ className: \"buttons\" }, { children: [_jsx(CloudControlButton, { text: \"\\u7126\\u8DDD\", onAddDown: () => handleEvent(1, 'ZOOM_IN'), onAddUp: () => handleEvent(0, 'ZOOM_IN'), onReduceDown: () => handleEvent(1, 'ZOOM_OUT'), onReduceUp: () => handleEvent(0, 'ZOOM_OUT') }), _jsx(CloudControlButton, { text: \"\\u5149\\u5708\", onAddDown: () => handleEvent(1, 'IRIS_ENLARGE'), onAddUp: () => handleEvent(0, 'IRIS_ENLARGE'), onReduceDown: () => handleEvent(1, 'IRIS_REDUCE'), onReduceUp: () => handleEvent(0, 'IRIS_REDUCE') }), _jsx(CloudControlButton, { text: \"\\u8DDD\\u79BB\", onAddDown: () => handleEvent(1, 'FOCUS_NEAR'), onAddUp: () => handleEvent(0, 'FOCUS_NEAR'), onReduceDown: () => handleEvent(1, 'FOCUS_FAR'), onReduceUp: () => handleEvent(0, 'FOCUS_FAR') })] })))] })));\n};\n/** 云台控制箭头 */\nconst CloudControlArrow = (props) => {\n const { name = '', event, type } = props;\n return (_jsx(\"img\", { className: `arrow ${name}`, src: arrowImg, onMouseDown: () => event(1, type), onMouseUp: () => event(0, type) }));\n};\n/** 云台控制按钮 */\nconst CloudControlButton = (props) => {\n const { text, onAddDown, onAddUp, onReduceDown, onReduceUp } = props;\n return (_jsxs(\"div\", Object.assign({ className: \"control-button\" }, { children: [_jsx(\"span\", Object.assign({ className: \"icon\", onMouseDown: onReduceDown, onMouseUp: onReduceUp }, { children: \"+\" })), _jsx(\"span\", Object.assign({ className: \"text\" }, { children: text })), _jsx(\"span\", Object.assign({ className: \"icon\", onMouseDown: onAddDown, onMouseUp: onAddUp }, { children: \"-\" }))] })));\n};\nconst STYLE = {\n leftTop: {\n left: 8,\n top: 8,\n },\n leftBottom: {\n left: 8,\n bottom: 8,\n },\n rightTop: {\n right: 8,\n top: 8,\n },\n rightBottom: {\n right: 8,\n bottom: 8,\n },\n};\n/** 信息展示 */\nexport const InfoPanel = (props) => {\n const { showInfo, info } = props;\n const position = showInfo ? (showInfo === true ? 'rightTop' : showInfo) : false;\n return position ? (_jsx(\"div\", Object.assign({ className: \"infoPanel\", style: STYLE[position] }, { children: info === null || info === void 0 ? void 0 : info.map((item, index) => {\n return _jsx(\"div\", { children: `${item[0]}: ${item[1]}` }, index);\n }) }))) : (_jsx(_Fragment, {}));\n};\n"],"mappings":"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"}
|
|
@@ -153,7 +153,6 @@ var LiveChannelPlayer = function LiveChannelPlayer(props) {
|
|
|
153
153
|
enableAgent: params.enableAgent || false,
|
|
154
154
|
width: width,
|
|
155
155
|
height: height,
|
|
156
|
-
talkUrl: params.beenHasVideo ? params.apiUrl : '',
|
|
157
156
|
captureName: "".concat(params.deviceName, "-").concat(params.channelName),
|
|
158
157
|
cloudParams: getCloudParams()
|
|
159
158
|
});
|
|
@@ -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","enableAgent","
|
|
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","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, captureName: `${params.deviceName}-${params.channelName}`, cloudParams: getCloudParams() })));\n};\nexport default LiveChannelPlayer;\n"],"mappings":"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"}
|
|
@@ -351,7 +351,6 @@ var GridItem = function GridItem(props) {
|
|
|
351
351
|
url: data.url,
|
|
352
352
|
enableAgent: (data === null || data === void 0 ? void 0 : data.enableAgent) || false,
|
|
353
353
|
captureName: name,
|
|
354
|
-
talkUrl: data.url,
|
|
355
354
|
showInfo: channel.showInfo,
|
|
356
355
|
info: channel.info
|
|
357
356
|
})
|
|
@@ -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","isDark","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","channelId","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","display","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","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, isDark = false } = 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.channelId && channel.channelId && c.channelId === channel.channelId);\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: (channelId) => {\n const index = state.channels.findIndex((c) => c.channelId === channelId);\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${isDark ? ' live-dark' : ''}`, 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, style: { display: 'flex' } }, { 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.url, 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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"}
|
|
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","isDark","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","channelId","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","display","FoldIcon","ExpandIcon","CloseAllIcon","Grid1x1Icon","Grid2x2Icon","Grid3x3Icon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","name","deviceName","channelName","_Fragment","PlayerHeader","VtxLivePlayer","url","enableAgent","captureName","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, isDark = false } = 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.channelId && channel.channelId && c.channelId === channel.channelId);\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: (channelId) => {\n const index = state.channels.findIndex((c) => c.channelId === channelId);\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${isDark ? ' live-dark' : ''}`, 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, style: { display: 'flex' } }, { 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, 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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"}
|
|
@@ -472,7 +472,8 @@ var GridItem = function GridItem(props) {
|
|
|
472
472
|
children: (0, _jsxRuntime.jsx)(_livePlayer["default"], {
|
|
473
473
|
url: data.url,
|
|
474
474
|
captureName: name,
|
|
475
|
-
|
|
475
|
+
deviceId: data.deviceId,
|
|
476
|
+
channelNum: data.channelNum,
|
|
476
477
|
showInfo: channel.showInfo,
|
|
477
478
|
info: channel.info,
|
|
478
479
|
screenshot: onScreenshot
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","useSetState","expand","grid","activeIndex","channels","scale","state","setState","wrapRef","useRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","filter","handleExpand","slice","map","item","closeVideo","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","Object","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","_Fragment","PlayerHeader","VtxLivePlayer","url","captureName","talkUrl","apiUrl","showInfo","info","screenshot","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: '100%',\n });\n const wrapRef = useRef(null);\n const latestGrid = useRef(DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n newChannels = [...channelRef.current];\n for (let i = 0; i < channels.length; i++) {\n newChannels[activeIndex] = channels[i] || { channelNum: '' };\n const index = getActiveIndex(newChannels, latestGrid.current, activeIndex);\n // 如果相等,说明没有空闲窗口\n if (index === activeIndex) {\n break;\n }\n activeIndex = index;\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE\n });\n updateChannels(DEFAULT_CHANNELS);\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const newChannels = [...channelRef.current];\n onVideoClose && onVideoClose(newChannels[i]);\n newChannels[i] = { channelNum: '' };\n updateChannels(newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: 'split-line' }), gridChange ?\n _jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))\n :\n _jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] })), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum;\n const { data, loading } = 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 const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { url: data.url, captureName: name, talkUrl: data.apiUrl, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot }) })) }))] })) })));\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, Number(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};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DEFAULT_GRID","DEFAULT_ACTIVE","DEFAULT_CHANNELS","Array","fill","channelNum","LiveControlV2","forwardRef","props","ref","height","width","onExpandChange","onPlayingChannelChange","onVideoClose","onCloseVideoInRotation","extraDom","gridChange","onScreenshot","useSetState","expand","grid","activeIndex","channels","scale","state","setState","wrapRef","useRef","latestGrid","useFullscreen","isFullscreen","toggleFullscreen","channelRef","useImperativeHandle","setGrid","updateGrid","load","channel","index","current","findIndex","c","channelId","newChannels","getActiveIndex","multiLoad","init","adapt","getGrid","length","i","Number","push","unLoad","updateChannels","unLoadAll","handleCloseAll","useEffect","filter","handleExpand","slice","map","item","closeVideo","getGridItems","items","element","_jsx","GridItem","active","onClick","onClose","_jsxs","Object","assign","className","style","children","Space","size","align","display","FoldIcon","ExpandIcon","CloseAllIcon","SplitScreen","GridIcon","DownOutlined","UpOutlined","disabled","VideoScale","setScale","OccupyingScreenIcon","ExitFullScreenIcon","FullScreenIcon","displayName","empty","useRequest","getPreviewUrl","ready","refreshDeps","data","loading","name","deviceName","channelName","gridItemRef","gridItemSize","useSize","_Fragment","PlayerHeader","VtxLivePlayer","url","captureName","deviceId","showInfo","info","screenshot","currentIndex","currentChannels","grids","len"],"sources":["live-control-v2/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { getPreviewUrl } from '../api';\nimport SplitScreen from '../components/split-screen';\nimport VideoScale from '../components/video-scale';\nimport { PlayerHeader } from '../controls';\nimport { CloseAllIcon, ExitFullScreenIcon, ExpandIcon, FoldIcon, FullScreenIcon, GridIcon, OccupyingScreenIcon, } from '../icons';\nimport VtxLivePlayer from '../live-player';\nimport { DownOutlined, UpOutlined } from '@ant-design/icons';\nimport { useFullscreen, useRequest, useSetState, useSize } from 'ahooks';\nimport Space from 'antd/lib/space';\nconst DEFAULT_GRID = 4;\nconst DEFAULT_ACTIVE = 0;\nconst DEFAULT_CHANNELS = Array(25).fill({ channelNum: '' });\n/**\n * 实时分屏组件\n */\nconst LiveControlV2 = forwardRef((props, ref) => {\n const { height = '100%', width = '100%', onExpandChange, onPlayingChannelChange, onVideoClose, onCloseVideoInRotation, extraDom, gridChange = true, onScreenshot } = props;\n const [state, setState] = useSetState({\n expand: true,\n grid: DEFAULT_GRID,\n activeIndex: DEFAULT_ACTIVE,\n channels: DEFAULT_CHANNELS,\n scale: '100%',\n });\n const wrapRef = useRef(null);\n const latestGrid = useRef(DEFAULT_GRID);\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const channelRef = useRef(DEFAULT_CHANNELS);\n // 实时视频轮询\n // useInterval(() => {\n // // 是否有视频正在播放\n // const hasVideo = channelRef.current.some((item) => item.channelNum);\n // if (polling && hasVideo) {\n // updateChannels(DEFAULT_CHANNELS);\n // const timer = setTimeout(() => {\n // setState({\n // channels: channelRef.current,\n // });\n // clearTimeout(timer);\n // }, 0);\n // }\n // }, polling);\n useImperativeHandle(ref, () => {\n return {\n setGrid: (grid) => {\n updateGrid(grid);\n },\n load: (channel) => {\n const index = channelRef.current.findIndex((c) => c.channelId && channel.channelId && c.channelId === channel.channelId);\n if (~index) {\n setState({ activeIndex: index }); // 如果通道号已经存在,则设置激活索引为该通道\n }\n else {\n // 播放该通道\n const newChannels = [...channelRef.current];\n newChannels[state.activeIndex] = channel;\n const activeIndex = getActiveIndex(newChannels, latestGrid.current, state.activeIndex);\n channelRef.current = newChannels;\n setState({ channels: newChannels, activeIndex });\n }\n },\n multiLoad: (channels, init = true, adapt = false) => {\n let grid = latestGrid.current;\n let newChannels = [], activeIndex = state.activeIndex;\n // 每次清空已经在播放的视频\n if (init) {\n adapt && (grid = getGrid(channels.length));\n for (let i = 0; i < Number(grid); i++) {\n newChannels.push(channels[i] ? channels[i] : { channelNum: '' });\n }\n }\n else {\n // 不清空,找寻空闲窗口播放\n newChannels = [...channelRef.current];\n for (let i = 0; i < channels.length; i++) {\n newChannels[activeIndex] = channels[i] || { channelNum: '' };\n const index = getActiveIndex(newChannels, latestGrid.current, activeIndex);\n // 如果相等,说明没有空闲窗口\n if (index === activeIndex) {\n break;\n }\n activeIndex = index;\n }\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels, activeIndex });\n },\n unLoad: (channelId) => {\n const index = channelRef.current.findIndex((c) => c.channelId === channelId);\n if (~index) {\n // 卸载通道\n const newChannels = [...channelRef.current];\n newChannels[index] = { channelNum: '' };\n updateChannels(newChannels);\n }\n },\n unLoadAll: handleCloseAll\n };\n });\n useEffect(() => {\n if (onPlayingChannelChange) {\n onPlayingChannelChange(state.channels.filter((c) => !!c.channelNum));\n }\n }, [state.channels]);\n const handleCloseAll = () => {\n setState({\n activeIndex: DEFAULT_ACTIVE\n });\n updateChannels(DEFAULT_CHANNELS);\n };\n const handleExpand = () => {\n onExpandChange && onExpandChange(!state.expand);\n setState({ expand: !state.expand });\n };\n const updateGrid = (grid) => {\n let newChannels = [...channelRef.current];\n if (grid > newChannels.length) {\n newChannels = DEFAULT_CHANNELS.slice(0, grid).map((item, index) => {\n return newChannels[index] ? newChannels[index] : item;\n });\n }\n else {\n newChannels = newChannels.slice(0, grid);\n }\n latestGrid.current = grid;\n channelRef.current = newChannels;\n setState({ grid, channels: newChannels });\n };\n const updateChannels = (channels) => {\n channelRef.current = channels;\n setState({ channels });\n };\n // 关闭视频\n const closeVideo = (i) => {\n const newChannels = [...channelRef.current];\n onVideoClose && onVideoClose(newChannels[i]);\n newChannels[i] = { channelNum: '' };\n updateChannels(newChannels);\n };\n const getGridItems = () => {\n const items = [];\n for (let i = 0; i < Number(latestGrid.current); i++) {\n const element = (_jsx(GridItem, { active: state.activeIndex === i, onClick: () => setState({ activeIndex: i }), channel: channelRef.current[i] || { channelNum: '' }, onClose: () => {\n // 如果正在轮播\n if (onCloseVideoInRotation) {\n onCloseVideoInRotation(() => closeVideo(i));\n return;\n }\n closeVideo(i);\n }, scale: state.scale, onScreenshot: onScreenshot }, i));\n items.push(element);\n }\n return items;\n };\n return (_jsxs(\"div\", Object.assign({ className: \"vtx-live-control-v2\", ref: wrapRef, style: { height, width } }, { children: [_jsx(\"div\", Object.assign({ className: `player-grid-container _${state.grid}` }, { children: getGridItems() })), _jsxs(\"div\", Object.assign({ className: \"bottom-controls\" }, { children: [_jsxs(Space, Object.assign({ className: \"left\", size: 12, align: \"center\" }, { children: [onExpandChange && (_jsx(\"div\", Object.assign({ onClick: handleExpand, style: { display: 'flex' } }, { children: state.expand ? _jsx(FoldIcon, {}) : _jsx(ExpandIcon, {}) }))), extraDom ? extraDom : null] })), _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(CloseAllIcon, { onClick: handleCloseAll }), _jsx(\"div\", { className: 'split-line' }), gridChange ?\n _jsx(SplitScreen, Object.assign({ grid: state.grid, setGrid: (grid) => updateGrid(grid) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(GridIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) }))\n :\n _jsxs(\"div\", Object.assign({ className: 'grid-change-disable' }, { children: [_jsx(GridIcon, { disabled: !gridChange }), _jsx(DownOutlined, { className: \"arrow\" })] })), _jsx(VideoScale, Object.assign({ scale: state.scale, setScale: (scale) => setState({ scale }) }, { children: _jsxs(\"div\", Object.assign({ className: 'controls-icon-hover' }, { children: [_jsx(OccupyingScreenIcon, {}), _jsx(DownOutlined, { className: \"hover-hide\" }), _jsx(UpOutlined, { className: \"hover-show\" })] })) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: toggleFullscreen })) : (_jsx(FullScreenIcon, { onClick: toggleFullscreen }))] }))] }))] })));\n});\nLiveControlV2.displayName = 'LiveControlV2';\nconst GridItem = (props) => {\n const { active, onClick, channel, onClose, onScreenshot, scale } = props;\n const empty = !channel.channelNum;\n const { data, loading } = 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 const [{ width, height }, setState] = useSetState({\n width: '100%',\n height: '100%',\n });\n const gridItemRef = useRef(null);\n const gridItemSize = useSize(gridItemRef);\n useEffect(() => {\n if ((gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.width) && (gridItemSize === null || gridItemSize === void 0 ? void 0 : gridItemSize.height)) {\n switch (scale) {\n case '100%':\n setState({\n width: '100%',\n height: gridItemSize.height - 26,\n });\n break;\n case '4*3':\n if (gridItemSize.width / 4 < (gridItemSize.height - 26) / 3) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 4) * 3,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 3) * 4,\n height: '100%',\n });\n }\n break;\n case '16*9':\n if (gridItemSize.width / 16 < (gridItemSize.height - 26) / 9) {\n setState({\n width: '100%',\n height: (gridItemSize.width / 16) * 9,\n });\n }\n else {\n setState({\n width: ((gridItemSize.height - 26) / 9) * 16,\n height: '100%',\n });\n }\n break;\n }\n }\n }, [gridItemSize, scale]);\n return (_jsx(\"div\", Object.assign({ className: `grid-item-container ${active ? 'active' : ''} ${loading ? '' : 'emptyImg'}`, onClick: onClick, ref: gridItemRef }, { children: data && !empty && (_jsxs(_Fragment, { children: [_jsx(PlayerHeader, { name: name, onClose: onClose }), _jsx(\"div\", Object.assign({ className: \"content\" }, { children: _jsx(\"div\", Object.assign({ style: { width, height } }, { children: _jsx(VtxLivePlayer, { url: data.url, captureName: name, deviceId: data.deviceId, channelNum: data.channelNum, showInfo: channel.showInfo, info: channel.info, screenshot: onScreenshot }) })) }))] })) })));\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, Number(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};\nconst grids = [1, 4, 6, 8, 9, 13, 17, 16, 22, 25];\n/**\n * 获取布局\n * @param len 通道数量\n */\nconst getGrid = (len) => {\n let grid;\n for (let i = 0; i < grids.length; i++) {\n if (grids[i] - len >= 0) {\n grid = grids[i];\n break;\n }\n }\n return grid > 25 ? 25 : grid;\n};\nexport default LiveControlV2;\n"],"mappings":"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"}
|
|
@@ -13,8 +13,10 @@ interface VtxPlayerProps {
|
|
|
13
13
|
type?: VideoType;
|
|
14
14
|
/** 截图文件名 */
|
|
15
15
|
captureName?: string;
|
|
16
|
-
/**
|
|
17
|
-
|
|
16
|
+
/** 通道号 */
|
|
17
|
+
channelNum?: string;
|
|
18
|
+
/** 设备id */
|
|
19
|
+
deviceId?: string;
|
|
18
20
|
/** 云台控制 */
|
|
19
21
|
cloudParams?: CloudControlPanelProps;
|
|
20
22
|
/** 是否展示信息 */
|
package/lib/live-player/index.js
CHANGED
|
@@ -44,7 +44,8 @@ var LivePlayer = function LivePlayer(props) {
|
|
|
44
44
|
height = _props$height === void 0 ? '100%' : _props$height,
|
|
45
45
|
captureName = props.captureName,
|
|
46
46
|
type = props.type,
|
|
47
|
-
|
|
47
|
+
channelNum = props.channelNum,
|
|
48
|
+
deviceId = props.deviceId,
|
|
48
49
|
cloudParams = props.cloudParams,
|
|
49
50
|
_props$showInfo = props.showInfo,
|
|
50
51
|
showInfo = _props$showInfo === void 0 ? false : _props$showInfo,
|
|
@@ -161,9 +162,10 @@ var LivePlayer = function LivePlayer(props) {
|
|
|
161
162
|
container: controlsRef.current
|
|
162
163
|
}), !!screenshot && (0, _jsxRuntime.jsx)(_icons.CaptureIcon, {
|
|
163
164
|
onClick: handleCapture
|
|
164
|
-
}),
|
|
165
|
+
}), channelNum && deviceId && (0, _jsxRuntime.jsx)(_controls.TalkControl, {
|
|
165
166
|
player: playerRef.current,
|
|
166
|
-
|
|
167
|
+
channelNum: channelNum,
|
|
168
|
+
deviceId: deviceId
|
|
167
169
|
}), cloudParams && (0, _jsxRuntime.jsx)(_icons.CloudControlIcon, {
|
|
168
170
|
active: state.showCloudPanel,
|
|
169
171
|
onClick: function onClick() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["LivePlayer","props","url","enableAgent","width","height","captureName","type","
|
|
1
|
+
{"version":3,"file":"index.js","names":["LivePlayer","props","url","enableAgent","width","height","captureName","type","channelNum","deviceId","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","destroy","player","Player","then","handleCapture","e","capture","stopPropagation","handleFullScreen","resize","_jsxs","Object","assign","className","style","children","_jsx","ErrorState","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, ErrorState } from '../controls';\nimport Player from '../player';\nexport const LivePlayer = (props) => {\n const { url, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, 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 playerRef.current && playerRef.current.destroy();\n return;\n }\n const player = new Player({ url, enableAgent, container, type });\n playerRef.current = player;\n setState({ loading: true, error: false });\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.error && _jsx(ErrorState, {}), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), channelNum && deviceId && _jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId }), cloudParams && (_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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"}
|
package/lib/player/index.js
CHANGED
package/lib/player/index.js.map
CHANGED
|
@@ -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","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","_a","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","call","StreamEnd","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"],"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 this.video = document.getElementById(container.id);\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 const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 0);\n return result;\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n return result;\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 && 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 var _a;\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 // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n }\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\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","getElementsByTagName","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","_a","addEventListener","currentTime","seekTime","diff","JS_SetWindowControlCallback","call","StreamEnd","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"],"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 this.video = document.getElementsByTagName('video')[0];\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 const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 0);\n return result;\n }\n return Promise.resolve();\n }\n /** 回放 */\n playBack() {\n if (this.type === 'hk_ws') {\n const player = this.player;\n const result = player.JS_Play(this.url, { playURL: this.url, mode: 0 }, 1, getHKTimeString(this.startTime), getHKTimeString(this.endTime));\n return result;\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 && 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 var _a;\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 // 增加hw_ws 流播放结束回调\n const player = this.player;\n (_a = player === null || player === void 0 ? void 0 : player.JS_SetWindowControlCallback) === null || _a === void 0 ? void 0 : _a.call(player, {\n StreamEnd: () => {\n callback(moment(this.endTime).diff(this.startTime, 'seconds'), this.preSpeed);\n }\n });\n }\n /** 跳转到 */\n seekTo(time) {\n var _a;\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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"}
|