@vtx/player 1.1.5 → 1.2.1
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/controls/index.js +2 -1
- package/lib/controls/index.js.map +1 -1
- package/lib/live-player-image/index.d.ts +36 -0
- package/lib/live-player-image/index.js +237 -0
- package/lib/live-player-image/index.js.map +1 -0
- package/lib/live-player-image/style/css.js +8 -0
- package/lib/live-player-image/style/css.js.map +1 -0
- package/lib/live-player-image/style/index.css +74 -0
- package/lib/live-player-image/style/index.d.ts +3 -0
- package/lib/live-player-image/style/index.js +8 -0
- package/lib/live-player-image/style/index.js.map +1 -0
- package/lib/live-player-image/style/index.less +70 -0
- package/package.json +1 -1
package/lib/controls/index.js
CHANGED
|
@@ -184,13 +184,14 @@ exports.SpeedControl = SpeedControl;
|
|
|
184
184
|
|
|
185
185
|
var ErrorState = function ErrorState(props) {
|
|
186
186
|
var _onClick = props.onClick;
|
|
187
|
+
var wrapHeight = document.getElementsByClassName('vtx-live-player')[0].clientHeight;
|
|
187
188
|
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
188
189
|
className: "error-container"
|
|
189
190
|
}, {
|
|
190
191
|
children: [(0, _jsxRuntime.jsx)("img", {
|
|
191
192
|
src: _error["default"],
|
|
192
193
|
alt: "\u64AD\u653E\u9519\u8BEF"
|
|
193
|
-
}), (0, _jsxRuntime.jsx)("span", Object.assign({
|
|
194
|
+
}), wrapHeight >= 150 && (0, _jsxRuntime.jsx)("span", Object.assign({
|
|
194
195
|
className: "text"
|
|
195
196
|
}, {
|
|
196
197
|
children: "\u89C6\u9891\u64AD\u653E\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"
|
|
@@ -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","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 { getTalkUrl } from '../api';\nimport { CloseIcon, TalkDisableIcon, TalkIcon, VolumeLargeIcon, VolumeMutedIcon, VolumeSmallIcon, } from '../icons';\nimport { getUrlParam } from '../utils';\nimport { useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\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] ||\n 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(0, type), onMouseUp: () => event(1, 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","wrapHeight","clientHeight","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 { getTalkUrl } from '../api';\nimport { CloseIcon, TalkDisableIcon, TalkIcon, VolumeLargeIcon, VolumeMutedIcon, VolumeSmallIcon, } from '../icons';\nimport { getUrlParam } from '../utils';\nimport { useRequest } from 'ahooks';\nimport Button from 'antd/lib/button';\nimport message from 'antd/lib/message';\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] ||\n 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 const wrapHeight = document.getElementsByClassName('vtx-live-player')[0].clientHeight;\n return (_jsxs(\"div\", Object.assign({ className: \"error-container\" }, { children: [_jsx(\"img\", { src: errorImg, alt: \"\\u64AD\\u653E\\u9519\\u8BEF\" }), wrapHeight >= 150 && _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(0, type), onMouseUp: () => event(1, 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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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CloudControlPanelProps } from '../controls';
|
|
3
|
+
import { VideoType } from '../player';
|
|
4
|
+
interface VtxPlayerProps {
|
|
5
|
+
/** 视频流地址 */
|
|
6
|
+
url: string;
|
|
7
|
+
/** 是否使用代理播放 */
|
|
8
|
+
enableAgent?: boolean;
|
|
9
|
+
/** 宽度 */
|
|
10
|
+
width?: number;
|
|
11
|
+
/** 高度 */
|
|
12
|
+
height?: number;
|
|
13
|
+
/** 视频流格式,如果为空则根据url自行判断 */
|
|
14
|
+
type?: VideoType;
|
|
15
|
+
/** 截图文件名 */
|
|
16
|
+
captureName?: string;
|
|
17
|
+
/** 通道号 */
|
|
18
|
+
channelNum?: string;
|
|
19
|
+
/** 设备id */
|
|
20
|
+
deviceId?: string;
|
|
21
|
+
/** 云台控制 */
|
|
22
|
+
cloudParams?: CloudControlPanelProps;
|
|
23
|
+
/** 是否展示信息 */
|
|
24
|
+
showInfo?: boolean | 'leftTop' | 'leftBottom' | 'rightTop' | 'rightBottom';
|
|
25
|
+
/** 信息 */
|
|
26
|
+
info?: Array<Array<string>>;
|
|
27
|
+
/** 截图回调 */
|
|
28
|
+
screenshot?: (dataURL: string) => void;
|
|
29
|
+
/** 重置视频大小 */
|
|
30
|
+
resize?: () => void;
|
|
31
|
+
/** 加载结束回调 */
|
|
32
|
+
loaded?: () => void;
|
|
33
|
+
}
|
|
34
|
+
export declare const LivePlayerImage: (props: VtxPlayerProps, selfRef: any) => JSX.Element;
|
|
35
|
+
declare const _default: React.ForwardRefExoticComponent<VtxPlayerProps & React.RefAttributes<unknown>>;
|
|
36
|
+
export default _default;
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.LivePlayerImage = void 0;
|
|
7
|
+
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _controls = require("../controls");
|
|
13
|
+
|
|
14
|
+
var _icons = require("../icons");
|
|
15
|
+
|
|
16
|
+
var _player = _interopRequireDefault(require("../player"));
|
|
17
|
+
|
|
18
|
+
var _utils = require("../utils");
|
|
19
|
+
|
|
20
|
+
var _ahooks = require("ahooks");
|
|
21
|
+
|
|
22
|
+
var _space = _interopRequireDefault(require("antd/lib/space"));
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
|
|
28
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
29
|
+
|
|
30
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
31
|
+
|
|
32
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
33
|
+
|
|
34
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
35
|
+
|
|
36
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
37
|
+
|
|
38
|
+
var LivePlayerImage = function LivePlayerImage(props, selfRef) {
|
|
39
|
+
var url = props.url,
|
|
40
|
+
enableAgent = props.enableAgent,
|
|
41
|
+
_props$width = props.width,
|
|
42
|
+
width = _props$width === void 0 ? '100%' : _props$width,
|
|
43
|
+
_props$height = props.height,
|
|
44
|
+
height = _props$height === void 0 ? '100%' : _props$height,
|
|
45
|
+
captureName = props.captureName,
|
|
46
|
+
type = props.type,
|
|
47
|
+
channelNum = props.channelNum,
|
|
48
|
+
deviceId = props.deviceId,
|
|
49
|
+
cloudParams = props.cloudParams,
|
|
50
|
+
_props$showInfo = props.showInfo,
|
|
51
|
+
showInfo = _props$showInfo === void 0 ? false : _props$showInfo,
|
|
52
|
+
_props$info = props.info,
|
|
53
|
+
info = _props$info === void 0 ? [] : _props$info,
|
|
54
|
+
screenshot = props.screenshot,
|
|
55
|
+
loaded = props.loaded;
|
|
56
|
+
var ref = (0, _react.useRef)(null);
|
|
57
|
+
var wrapRef = (0, _react.useRef)(null);
|
|
58
|
+
var controlsRef = (0, _react.useRef)(null);
|
|
59
|
+
var playerRef = (0, _react.useRef)();
|
|
60
|
+
|
|
61
|
+
var _useFullscreen = (0, _ahooks.useFullscreen)(wrapRef),
|
|
62
|
+
_useFullscreen2 = _slicedToArray(_useFullscreen, 2),
|
|
63
|
+
isFullscreen = _useFullscreen2[0],
|
|
64
|
+
toggleFullscreen = _useFullscreen2[1].toggleFullscreen;
|
|
65
|
+
|
|
66
|
+
var _useSetState = (0, _ahooks.useSetState)({
|
|
67
|
+
play: false,
|
|
68
|
+
error: false,
|
|
69
|
+
loading: false,
|
|
70
|
+
id: 'vtx_hk_player_' + (0, _utils.guidGenerator)(),
|
|
71
|
+
volume: 0,
|
|
72
|
+
showCloudPanel: false
|
|
73
|
+
}),
|
|
74
|
+
_useSetState2 = _slicedToArray(_useSetState, 2),
|
|
75
|
+
state = _useSetState2[0],
|
|
76
|
+
setState = _useSetState2[1];
|
|
77
|
+
|
|
78
|
+
(0, _react.useImperativeHandle)(selfRef, function () {
|
|
79
|
+
return {
|
|
80
|
+
resize: function resize() {
|
|
81
|
+
var player = playerRef.current;
|
|
82
|
+
player && url && player.resize();
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
(0, _react.useEffect)(function () {
|
|
87
|
+
var container = ref.current;
|
|
88
|
+
|
|
89
|
+
if (!url || !container) {
|
|
90
|
+
playerRef.current && playerRef.current.destroy();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
var player = new _player["default"]({
|
|
95
|
+
url: url,
|
|
96
|
+
enableAgent: enableAgent,
|
|
97
|
+
container: container,
|
|
98
|
+
type: type
|
|
99
|
+
});
|
|
100
|
+
playerRef.current = player;
|
|
101
|
+
setState({
|
|
102
|
+
loading: true,
|
|
103
|
+
error: false
|
|
104
|
+
});
|
|
105
|
+
player.play().then(function () {
|
|
106
|
+
return setState({
|
|
107
|
+
play: true,
|
|
108
|
+
error: false
|
|
109
|
+
});
|
|
110
|
+
})["catch"](function () {
|
|
111
|
+
return setState({
|
|
112
|
+
error: true
|
|
113
|
+
});
|
|
114
|
+
})["finally"](function () {
|
|
115
|
+
setState({
|
|
116
|
+
loading: false
|
|
117
|
+
}), loaded && loaded();
|
|
118
|
+
});
|
|
119
|
+
return function () {
|
|
120
|
+
player.destroy();
|
|
121
|
+
setState({
|
|
122
|
+
error: false,
|
|
123
|
+
loading: false,
|
|
124
|
+
play: false
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
}, [url]);
|
|
128
|
+
(0, _react.useEffect)(function () {
|
|
129
|
+
var canvas = document.getElementById('canvas');
|
|
130
|
+
var ctx = canvas.getContext('2d');
|
|
131
|
+
var i = 0;
|
|
132
|
+
var timer = setInterval(function () {
|
|
133
|
+
ctx.beginPath();
|
|
134
|
+
var x = Math.random() * 300;
|
|
135
|
+
var x2 = Math.random() * 150;
|
|
136
|
+
var y = Math.random() * 300;
|
|
137
|
+
var y2 = Math.random() * 150;
|
|
138
|
+
ctx.strokeStyle = 'red';
|
|
139
|
+
ctx.lineWidth = 3;
|
|
140
|
+
ctx.rect(x, y, x2 > 20 ? x2 : 20, y2 > 20 ? y2 : 20);
|
|
141
|
+
i++;
|
|
142
|
+
ctx.stroke(); // ctx.closePath();
|
|
143
|
+
|
|
144
|
+
if (i > 5) {
|
|
145
|
+
timer && clearTimeout(timer);
|
|
146
|
+
}
|
|
147
|
+
}, 2000);
|
|
148
|
+
return function () {
|
|
149
|
+
timer && clearTimeout(timer);
|
|
150
|
+
};
|
|
151
|
+
}, []);
|
|
152
|
+
|
|
153
|
+
var handleCapture = function handleCapture(e) {
|
|
154
|
+
var player = playerRef.current;
|
|
155
|
+
player && player.capture(captureName, screenshot);
|
|
156
|
+
e.stopPropagation();
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
var handleFullScreen = function handleFullScreen(e) {
|
|
160
|
+
toggleFullscreen();
|
|
161
|
+
var player = playerRef.current;
|
|
162
|
+
player && player.resize();
|
|
163
|
+
e.stopPropagation();
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
167
|
+
className: "vtx-live-player",
|
|
168
|
+
ref: wrapRef,
|
|
169
|
+
style: {
|
|
170
|
+
width: width,
|
|
171
|
+
height: height,
|
|
172
|
+
position: 'relative'
|
|
173
|
+
}
|
|
174
|
+
}, {
|
|
175
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
176
|
+
ref: ref,
|
|
177
|
+
style: {
|
|
178
|
+
height: '100%',
|
|
179
|
+
width: '100%'
|
|
180
|
+
},
|
|
181
|
+
id: state.id
|
|
182
|
+
}), (0, _jsxRuntime.jsx)("canvas", {
|
|
183
|
+
id: "canvas",
|
|
184
|
+
width: width,
|
|
185
|
+
height: height,
|
|
186
|
+
style: {
|
|
187
|
+
position: 'absolute',
|
|
188
|
+
top: 0,
|
|
189
|
+
left: 0,
|
|
190
|
+
right: 0,
|
|
191
|
+
bottom: 0
|
|
192
|
+
}
|
|
193
|
+
}), state.error && (0, _jsxRuntime.jsx)(_controls.ErrorState, {}), state.loading && (0, _jsxRuntime.jsx)(_controls.LoadingState, {}), state.showCloudPanel && cloudParams && (0, _jsxRuntime.jsx)(_controls.CloudControlPanel, Object.assign({}, cloudParams)), (0, _jsxRuntime.jsx)(_controls.InfoPanel, {
|
|
194
|
+
showInfo: showInfo,
|
|
195
|
+
info: info
|
|
196
|
+
}), (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
197
|
+
className: "controls",
|
|
198
|
+
ref: controlsRef
|
|
199
|
+
}, {
|
|
200
|
+
children: (0, _jsxRuntime.jsxs)(_space["default"], Object.assign({
|
|
201
|
+
className: "right",
|
|
202
|
+
size: 12,
|
|
203
|
+
align: "center"
|
|
204
|
+
}, {
|
|
205
|
+
children: [(0, _jsxRuntime.jsx)(_controls.VolumeControl, {
|
|
206
|
+
player: playerRef.current,
|
|
207
|
+
container: controlsRef.current
|
|
208
|
+
}), !!screenshot && (0, _jsxRuntime.jsx)(_icons.CaptureIcon, {
|
|
209
|
+
onClick: handleCapture
|
|
210
|
+
}), channelNum && deviceId && (0, _jsxRuntime.jsx)(_controls.TalkControl, {
|
|
211
|
+
player: playerRef.current,
|
|
212
|
+
channelNum: channelNum,
|
|
213
|
+
deviceId: deviceId
|
|
214
|
+
}), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (0, _jsxRuntime.jsx)(_icons.CloudControlIcon, {
|
|
215
|
+
active: state.showCloudPanel,
|
|
216
|
+
onClick: function onClick() {
|
|
217
|
+
return setState({
|
|
218
|
+
showCloudPanel: !state.showCloudPanel
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}), isFullscreen ? (0, _jsxRuntime.jsx)(_icons.ExitFullScreenIcon, {
|
|
222
|
+
onClick: handleFullScreen
|
|
223
|
+
}) : (0, _jsxRuntime.jsx)(_icons.FullScreenIcon, {
|
|
224
|
+
onClick: handleFullScreen
|
|
225
|
+
})]
|
|
226
|
+
}))
|
|
227
|
+
}))]
|
|
228
|
+
}));
|
|
229
|
+
}; // LivePlayerImage.displayName = 'live-player';
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
exports.LivePlayerImage = LivePlayerImage;
|
|
233
|
+
|
|
234
|
+
var _default = /*#__PURE__*/(0, _react.forwardRef)(LivePlayerImage);
|
|
235
|
+
|
|
236
|
+
exports["default"] = _default;
|
|
237
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["LivePlayerImage","props","selfRef","url","enableAgent","width","height","captureName","type","channelNum","deviceId","cloudParams","showInfo","info","screenshot","loaded","ref","useRef","wrapRef","controlsRef","playerRef","useFullscreen","isFullscreen","toggleFullscreen","useSetState","play","error","loading","id","guidGenerator","volume","showCloudPanel","state","setState","useImperativeHandle","resize","player","current","useEffect","container","destroy","Player","then","canvas","document","getElementById","ctx","getContext","i","timer","setInterval","beginPath","x","Math","random","x2","y","y2","strokeStyle","lineWidth","rect","stroke","clearTimeout","handleCapture","e","capture","stopPropagation","handleFullScreen","_jsxs","Object","assign","className","style","position","children","_jsx","top","left","right","bottom","ErrorState","LoadingState","CloudControlPanel","InfoPanel","Space","size","align","VolumeControl","CaptureIcon","onClick","TalkControl","CloudControlIcon","active","ExitFullScreenIcon","FullScreenIcon","forwardRef"],"sources":["live-player-image/index.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';\nimport { CloudControlPanel, ErrorState, InfoPanel, LoadingState, TalkControl, VolumeControl, } from '../controls';\nimport { CaptureIcon, CloudControlIcon, ExitFullScreenIcon, FullScreenIcon } from '../icons';\nimport Player from '../player';\nimport { guidGenerator } from '../utils';\nimport { useFullscreen, useSetState } from 'ahooks';\n// import { Space } from 'antd';\nimport Space from 'antd/lib/space';\nexport const LivePlayerImage = (props, selfRef) => {\n const { url, enableAgent, width = '100%', height = '100%', captureName, type, channelNum, deviceId, cloudParams, showInfo = false, info = [], screenshot, loaded, } = props;\n const ref = useRef(null);\n const wrapRef = useRef(null);\n const controlsRef = useRef(null);\n const playerRef = useRef();\n const [isFullscreen, { toggleFullscreen }] = useFullscreen(wrapRef);\n const [state, setState] = useSetState({\n play: false,\n error: false,\n loading: false,\n id: 'vtx_hk_player_' + guidGenerator(),\n volume: 0,\n showCloudPanel: false,\n });\n useImperativeHandle(selfRef, () => {\n return {\n resize: () => {\n const player = playerRef.current;\n player && url && player.resize();\n },\n };\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(() => {\n setState({ loading: false }), loaded && loaded();\n });\n return () => {\n player.destroy();\n setState({ error: false, loading: false, play: false });\n };\n }, [url]);\n useEffect(() => {\n const canvas = document.getElementById('canvas');\n const ctx = canvas.getContext('2d');\n let i = 0;\n const timer = setInterval(() => {\n ctx.beginPath();\n const x = Math.random() * 300;\n const x2 = Math.random() * 150;\n const y = Math.random() * 300;\n const y2 = Math.random() * 150;\n ctx.strokeStyle = 'red';\n ctx.lineWidth = 3;\n ctx.rect(x, y, x2 > 20 ? x2 : 20, y2 > 20 ? y2 : 20);\n i++;\n ctx.stroke();\n // ctx.closePath();\n if (i > 5) {\n timer && clearTimeout(timer);\n }\n }, 2000);\n return () => {\n timer && clearTimeout(timer);\n };\n }, []);\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, position: 'relative' } }, { children: [_jsx(\"div\", { ref: ref, style: { height: '100%', width: '100%' }, id: state.id }), _jsx(\"canvas\", { id: \"canvas\", width: width, height: height, style: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n } }), state.error && _jsx(ErrorState, {}), state.loading && _jsx(LoadingState, {}), state.showCloudPanel && cloudParams && _jsx(CloudControlPanel, Object.assign({}, cloudParams)), _jsx(InfoPanel, { showInfo: showInfo, info: info }), _jsx(\"div\", Object.assign({ className: \"controls\", ref: controlsRef }, { children: _jsxs(Space, Object.assign({ className: \"right\", size: 12, align: \"center\" }, { children: [_jsx(VolumeControl, { player: playerRef.current, container: controlsRef.current }), !!screenshot && _jsx(CaptureIcon, { onClick: handleCapture }), channelNum && deviceId && (_jsx(TalkControl, { player: playerRef.current, channelNum: channelNum, deviceId: deviceId })), (cloudParams === null || cloudParams === void 0 ? void 0 : cloudParams.type) !== 'none' && (_jsx(CloudControlIcon, { active: state.showCloudPanel, onClick: () => setState({ showCloudPanel: !state.showCloudPanel }) })), isFullscreen ? (_jsx(ExitFullScreenIcon, { onClick: handleFullScreen })) : (_jsx(FullScreenIcon, { onClick: handleFullScreen }))] })) }))] })));\n};\n// LivePlayerImage.displayName = 'live-player';\nexport default forwardRef(LivePlayerImage);\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","names":[],"sources":["live-player-image/style/index.js"],"sourcesContent":["import \"antd/lib/space/style\";\nimport '../../controls/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
.vtx-live-player {
|
|
2
|
+
position: relative;
|
|
3
|
+
background-color: #2b3d51;
|
|
4
|
+
border: 1px solid transparent;
|
|
5
|
+
}
|
|
6
|
+
.vtx-live-player .controls {
|
|
7
|
+
position: absolute;
|
|
8
|
+
bottom: 0;
|
|
9
|
+
display: -webkit-box;
|
|
10
|
+
display: -ms-flexbox;
|
|
11
|
+
display: flex;
|
|
12
|
+
-webkit-box-align: center;
|
|
13
|
+
-ms-flex-align: center;
|
|
14
|
+
align-items: center;
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 30px;
|
|
17
|
+
padding: 0 12px;
|
|
18
|
+
background-color: #131d27;
|
|
19
|
+
opacity: 0;
|
|
20
|
+
-webkit-transition: opacity 0.5s;
|
|
21
|
+
transition: opacity 0.5s;
|
|
22
|
+
}
|
|
23
|
+
.vtx-live-player .controls .right {
|
|
24
|
+
margin-left: auto;
|
|
25
|
+
}
|
|
26
|
+
.vtx-live-player .controls .right > div {
|
|
27
|
+
height: 24px;
|
|
28
|
+
}
|
|
29
|
+
.vtx-live-player:hover .controls {
|
|
30
|
+
opacity: 1;
|
|
31
|
+
}
|
|
32
|
+
.vtx-live-player video {
|
|
33
|
+
width: 100%;
|
|
34
|
+
height: 100%;
|
|
35
|
+
-o-object-fit: fill;
|
|
36
|
+
object-fit: fill;
|
|
37
|
+
}
|
|
38
|
+
.vtx-live-player .sub-wnd {
|
|
39
|
+
width: 100% !important;
|
|
40
|
+
height: 100% !important;
|
|
41
|
+
background-color: #2b3d51 !important;
|
|
42
|
+
border: 1px solid transparent !important;
|
|
43
|
+
}
|
|
44
|
+
.vtx-live-player .error-container {
|
|
45
|
+
position: absolute;
|
|
46
|
+
top: 50%;
|
|
47
|
+
left: 50%;
|
|
48
|
+
display: -webkit-box;
|
|
49
|
+
display: -ms-flexbox;
|
|
50
|
+
display: flex;
|
|
51
|
+
-webkit-box-orient: vertical;
|
|
52
|
+
-webkit-box-direction: normal;
|
|
53
|
+
-ms-flex-direction: column;
|
|
54
|
+
flex-direction: column;
|
|
55
|
+
-webkit-box-align: center;
|
|
56
|
+
-ms-flex-align: center;
|
|
57
|
+
align-items: center;
|
|
58
|
+
-webkit-transform: translate(-50%, -50%);
|
|
59
|
+
-ms-transform: translate(-50%, -50%);
|
|
60
|
+
transform: translate(-50%, -50%);
|
|
61
|
+
}
|
|
62
|
+
.vtx-live-player .error-container .text {
|
|
63
|
+
margin: 20px 0;
|
|
64
|
+
font-size: 14px;
|
|
65
|
+
color: rgba(255, 255, 255, 0.65);
|
|
66
|
+
}
|
|
67
|
+
.vtx-live-player .loading-container {
|
|
68
|
+
position: absolute;
|
|
69
|
+
top: 50%;
|
|
70
|
+
left: 50%;
|
|
71
|
+
-webkit-transform: translate(-50%, -50%);
|
|
72
|
+
-ms-transform: translate(-50%, -50%);
|
|
73
|
+
transform: translate(-50%, -50%);
|
|
74
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["live-player-image/style/index.js"],"sourcesContent":["import \"antd/lib/space/style\";\nimport '../../controls/style';\nimport './index.less';\n"],"mappings":";;AAAA;;AACA;;AACA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
.vtx-live-player {
|
|
2
|
+
position: relative;
|
|
3
|
+
// display: flex;
|
|
4
|
+
// align-items: center;
|
|
5
|
+
// justify-content: center;
|
|
6
|
+
background-color: #2b3d51;
|
|
7
|
+
border: 1px solid transparent;
|
|
8
|
+
.controls {
|
|
9
|
+
position: absolute;
|
|
10
|
+
bottom: 0;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 30px;
|
|
15
|
+
padding: 0 12px;
|
|
16
|
+
background-color: #131d27;
|
|
17
|
+
opacity: 0;
|
|
18
|
+
transition: opacity 0.5s;
|
|
19
|
+
|
|
20
|
+
.right {
|
|
21
|
+
margin-left: auto;
|
|
22
|
+
|
|
23
|
+
> div {
|
|
24
|
+
height: 24px;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&:hover {
|
|
30
|
+
.controls {
|
|
31
|
+
opacity: 1;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
video {
|
|
36
|
+
width: 100%;
|
|
37
|
+
height: 100%;
|
|
38
|
+
object-fit: fill;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.sub-wnd {
|
|
42
|
+
width: 100% !important;
|
|
43
|
+
height: 100% !important;
|
|
44
|
+
background-color: #2b3d51 !important;
|
|
45
|
+
border: 1px solid transparent !important;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.error-container {
|
|
49
|
+
position: absolute;
|
|
50
|
+
top: 50%;
|
|
51
|
+
left: 50%;
|
|
52
|
+
display: flex;
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
align-items: center;
|
|
55
|
+
transform: translate(-50%, -50%);
|
|
56
|
+
|
|
57
|
+
.text {
|
|
58
|
+
margin: 20px 0;
|
|
59
|
+
font-size: 14px;
|
|
60
|
+
color: rgba(255, 255 ,255 , .65);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.loading-container {
|
|
65
|
+
position: absolute;
|
|
66
|
+
top: 50%;
|
|
67
|
+
left: 50%;
|
|
68
|
+
transform: translate(-50%, -50%);
|
|
69
|
+
}
|
|
70
|
+
}
|