@ray-js/ipc-player-integration 0.0.29-beta.9 → 0.0.30
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/ctx/ctx.composition.d.ts +9 -3
- package/lib/ctx/ctx.composition.js +42 -2
- package/lib/ctx/ctx.js +5 -0
- package/lib/ctx/multiCameraCtx.d.ts +31 -1
- package/lib/ctx/multiCameraCtx.js +60 -16
- package/lib/features/initPlayerWidgets/index.d.ts +7 -1
- package/lib/features/initPlayerWidgets/index.js +14 -11
- package/lib/i18n/index.d.ts +4 -0
- package/lib/i18n/strings.d.ts +2 -0
- package/lib/i18n/strings.js +4 -2
- package/lib/iconfont/iconfont.css +126 -6
- package/lib/iconfont/iconfont.js +13 -13
- package/lib/iconfont/iconfont.json +217 -7
- package/lib/iconfont/iconfont.ttf +0 -0
- package/lib/iconfont/iconfont.woff +0 -0
- package/lib/iconfont/iconfont.woff2 +0 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/interface.d.ts +43 -2
- package/lib/ui/constant.d.ts +1 -0
- package/lib/ui/constant.js +1 -0
- package/lib/ui/ui.d.ts +1 -0
- package/lib/ui/ui.js +144 -34
- package/lib/ui/ui.less +2 -2
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +12 -1
- package/lib/utils/videoSplitHelper.d.ts +18 -0
- package/lib/utils/videoSplitHelper.js +48 -0
- package/lib/widgets/flowLowTip/flowLowTip.d.ts +8 -0
- package/lib/widgets/flowLowTip/flowLowTip.js +65 -0
- package/lib/widgets/flowLowTip/flowLowTip.less +73 -0
- package/lib/widgets/flowLowTip/index.d.ts +1 -0
- package/lib/widgets/flowLowTip/index.js +1 -0
- package/lib/widgets/fullScreen/fullScreen.js +2 -3
- package/lib/widgets/fullScreen/fullVoiceIntercom.js +1 -1
- package/lib/widgets/fullScreen/verticalScreen.js +1 -1
- package/lib/widgets/index.d.ts +2 -0
- package/lib/widgets/index.js +3 -1
- package/lib/widgets/multiCamera/index.less +23 -0
- package/lib/widgets/multiCamera/moveablePtzControl.js +16 -7
- package/lib/widgets/multiCamera/tileActions.js +2 -2
- package/lib/widgets/toggleVerticalFull/index.d.ts +1 -0
- package/lib/widgets/toggleVerticalFull/index.js +1 -0
- package/lib/widgets/toggleVerticalFull/toggleVerticalFull.d.ts +8 -0
- package/lib/widgets/toggleVerticalFull/toggleVerticalFull.js +32 -0
- package/lib/widgets/toggleVerticalFull/toggleVerticalFull.less +4 -0
- package/lib/widgets/voiceIntercom/voiceIntercom.js +12 -20
- package/lib/widgets/voiceIntercom/voiceIntercom.less +85 -0
- package/package.json +4 -4
- package/lib/features/initPlayerWidgets/multiCamera.d.ts +0 -8
- package/lib/features/initPlayerWidgets/multiCamera.js +0 -78
- package/lib/widgets/battery/battery.composition.d.ts +0 -159
- package/lib/widgets/voiceIntercom/voiceIntercom.d.ts +0 -95
package/lib/widgets/index.js
CHANGED
|
@@ -15,4 +15,6 @@ export * from './verticalSmallIntercom';
|
|
|
15
15
|
export * from './moveInteractiveControl';
|
|
16
16
|
export * from './ptzControlTip';
|
|
17
17
|
export * from './multiCamera';
|
|
18
|
-
export * from './smallIntercom';
|
|
18
|
+
export * from './smallIntercom';
|
|
19
|
+
export * from './toggleVerticalFull';
|
|
20
|
+
export * from './flowLowTip';
|
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
--ptz-circle-inner-bg-color: rgba(255, 255, 255, 1);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
+
|
|
50
51
|
.@{prefix}-tile-tip-wrap {
|
|
51
52
|
position: absolute;
|
|
52
53
|
top: 0;
|
|
@@ -212,3 +213,25 @@
|
|
|
212
213
|
}
|
|
213
214
|
}
|
|
214
215
|
}
|
|
216
|
+
|
|
217
|
+
.ipc-player-content-small-screen {
|
|
218
|
+
.@{prefix}-tile-tip-wrap {
|
|
219
|
+
.@{prefix}-tile-tip-content {
|
|
220
|
+
&.@{prefix}-step1 {
|
|
221
|
+
right: 0px;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.@{prefix}-tile-tip-text {
|
|
227
|
+
&.@{prefix}-step1 {
|
|
228
|
+
right: 14px;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.@{prefix}-tile-tip-button {
|
|
233
|
+
&.@{prefix}-step1 {
|
|
234
|
+
right: 14px;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
|
4
|
+
import "core-js/modules/esnext.iterator.filter.js";
|
|
3
5
|
import { CoverView, View } from '@ray-js/ray';
|
|
4
6
|
import { getDpIdByCode, publishDps } from '@ray-js/ray-ipc-utils';
|
|
5
7
|
import _find from 'lodash/find';
|
|
6
8
|
import _get from 'lodash/get';
|
|
7
|
-
import React, { useContext, useEffect, useRef, useState } from 'react';
|
|
9
|
+
import React, { useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
8
10
|
import IpcPtzZoom from '@ray-js/ipc-ptz-zoom';
|
|
9
11
|
import { useStore } from '../../ctx/store';
|
|
10
12
|
import { useMemoizedFn } from '../../hooks';
|
|
@@ -12,6 +14,7 @@ import { MultiCameraScreenMode } from '../../interface';
|
|
|
12
14
|
import { pauseTimeToHideAllComponent, startTimeToHideAllComponent } from '../../ui/constant';
|
|
13
15
|
import { UIEventContext } from '../../ui/context';
|
|
14
16
|
import { getEnumRangeIsValid } from '../../utils/device';
|
|
17
|
+
import { patchPtzDataShowByProtocol, patchZoomDataShowByProtocol } from '../../utils';
|
|
15
18
|
import Styles from '../ptz/ptz.less';
|
|
16
19
|
import { multiPrefix } from './constants';
|
|
17
20
|
import './index.less';
|
|
@@ -161,8 +164,14 @@ export const MoveablePtzControlItem = props => {
|
|
|
161
164
|
event
|
|
162
165
|
} = useContext(UIEventContext);
|
|
163
166
|
const ptzTimeId = useRef(null);
|
|
164
|
-
const ptzData =
|
|
165
|
-
|
|
167
|
+
const ptzData = useMemo(() => {
|
|
168
|
+
const data = getPtzData(devId);
|
|
169
|
+
return patchPtzDataShowByProtocol(data, multiCameraCtx.protocol, selectedLenInfo.index, multiCameraCtx.isSupport);
|
|
170
|
+
}, [devId, multiCameraCtx.isSupport, multiCameraCtx.protocol, selectedLenInfo.index]);
|
|
171
|
+
const zoomData = useMemo(() => {
|
|
172
|
+
const data = patchZoomDataShowByProtocol(getZoomData(devId), multiCameraCtx.isSupport);
|
|
173
|
+
return data.filter(item => item.show);
|
|
174
|
+
}, [devId, multiCameraCtx.isSupport]);
|
|
166
175
|
useEffect(() => {
|
|
167
176
|
const pages = getCurrentPages();
|
|
168
177
|
const page = pages[pages.length - 1];
|
|
@@ -247,7 +256,7 @@ export const MoveablePtzControlItem = props => {
|
|
|
247
256
|
event: touchEvent
|
|
248
257
|
} = data;
|
|
249
258
|
touchEvent.stopPropagation();
|
|
250
|
-
const dpValue = _get(_find(ptzData
|
|
259
|
+
const dpValue = _get(_find(ptzData, {
|
|
251
260
|
type
|
|
252
261
|
}), 'dpValue', null);
|
|
253
262
|
const ptzConfig = dpSupportMap.ipc_multi_ptz_control ? {
|
|
@@ -281,7 +290,7 @@ export const MoveablePtzControlItem = props => {
|
|
|
281
290
|
event: touchEvent
|
|
282
291
|
} = data;
|
|
283
292
|
touchEvent.stopPropagation();
|
|
284
|
-
const dpValue = _get(_find(zoomData
|
|
293
|
+
const dpValue = _get(_find(zoomData, {
|
|
285
294
|
type
|
|
286
295
|
}), 'dpValue', null);
|
|
287
296
|
const zoomConfig = dpSupportMap.ipc_multi_zoom_control ? {
|
|
@@ -377,8 +386,8 @@ export const MoveablePtzControlItem = props => {
|
|
|
377
386
|
className: `${multiPrefix}-moveable-ptz-control`,
|
|
378
387
|
ptzSize: "172px",
|
|
379
388
|
zoomSize: "66px",
|
|
380
|
-
zoomData: selectedLenInfo.supportZoom ? zoomData
|
|
381
|
-
ptzData: selectedLenInfo.supportPTZ ? ptzData
|
|
389
|
+
zoomData: selectedLenInfo.supportZoom ? zoomData : [],
|
|
390
|
+
ptzData: selectedLenInfo.supportPTZ ? ptzData : [],
|
|
382
391
|
onTouchPtzStart: onTouchPtzStart,
|
|
383
392
|
onTouchPtzEnd: async () => {
|
|
384
393
|
screenMode === MultiCameraScreenMode.landscape && event.emit(startTimeToHideAllComponent);
|
|
@@ -9,7 +9,7 @@ import './index.less';
|
|
|
9
9
|
export function TileActions(props) {
|
|
10
10
|
return /*#__PURE__*/React.createElement(View, {
|
|
11
11
|
className: clsx(`${multiPrefix}-actions`)
|
|
12
|
-
}, /*#__PURE__*/React.createElement(
|
|
12
|
+
}, /*#__PURE__*/React.createElement(TileMultiPtz, _extends({}, props, {
|
|
13
13
|
className: `${multiPrefix}-action-wrap`
|
|
14
|
-
})));
|
|
14
|
+
})), /*#__PURE__*/React.createElement(TileSwitchLayout, props));
|
|
15
15
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './toggleVerticalFull';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './toggleVerticalFull';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ComponentConfigProps } from '../../interface';
|
|
3
|
+
import './toggleVerticalFull.less';
|
|
4
|
+
type Props = ComponentConfigProps & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function ToggleVerticalFull(props: Props): React.JSX.Element | null;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Text, View } from '@ray-js/ray';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { useStore } from '../../ctx/store';
|
|
5
|
+
import './toggleVerticalFull.less';
|
|
6
|
+
export function ToggleVerticalFull(props) {
|
|
7
|
+
const {
|
|
8
|
+
className,
|
|
9
|
+
screenType: screenTypeAtom,
|
|
10
|
+
isVerticalFullLayout: isVerticalFullLayoutAtom,
|
|
11
|
+
setIsVerticalFullLayout
|
|
12
|
+
} = props;
|
|
13
|
+
const {
|
|
14
|
+
screenType,
|
|
15
|
+
isVerticalFullLayout
|
|
16
|
+
} = useStore({
|
|
17
|
+
screenType: screenTypeAtom,
|
|
18
|
+
isVerticalFullLayout: isVerticalFullLayoutAtom
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
// 横屏时隐藏
|
|
22
|
+
if (screenType === 'full') return null;
|
|
23
|
+
const iconClassName = isVerticalFullLayout ? 'icon-panel-collapse' : 'icon-panel-expand';
|
|
24
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
25
|
+
className: clsx(className),
|
|
26
|
+
onTouchStart: () => {
|
|
27
|
+
setIsVerticalFullLayout(!isVerticalFullLayout);
|
|
28
|
+
}
|
|
29
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
30
|
+
className: clsx(['icon-panel', iconClassName, 'toggle-vertical-full'])
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
@@ -2,7 +2,6 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
2
2
|
import React, { useRef, useContext, useState, useEffect, forwardRef, useImperativeHandle } from 'react';
|
|
3
3
|
import { View, Image, getSystemInfoSync } from '@ray-js/ray';
|
|
4
4
|
import clsx from 'clsx';
|
|
5
|
-
import Svg from '@ray-js/svg';
|
|
6
5
|
import { useStore, getDefaultStore, updateAtom } from '../../ctx/store';
|
|
7
6
|
import './voiceIntercom.less';
|
|
8
7
|
import { PlayerStreamStatus, IntercomMode, PlayState } from '../../interface';
|
|
@@ -27,8 +26,7 @@ export const VoiceIntercom = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
27
26
|
onTouchStart = NILL,
|
|
28
27
|
onTouchEnd = NILL,
|
|
29
28
|
mode = 'circle',
|
|
30
|
-
|
|
31
|
-
heightScale = 0.12,
|
|
29
|
+
scale = 1,
|
|
32
30
|
talkingColor = '#ffffff',
|
|
33
31
|
bgColor,
|
|
34
32
|
disabled = false
|
|
@@ -182,10 +180,6 @@ export const VoiceIntercom = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
182
180
|
}, [intercom]);
|
|
183
181
|
|
|
184
182
|
// 根据当前帧和矩形索引计算高度
|
|
185
|
-
const getHeight = (frame, index) => {
|
|
186
|
-
const animationFactor = Math.sin((frame + index) / 5) * 20; // 使用正弦波来模拟动态变化
|
|
187
|
-
return [50, 130, 180, 130, 50][index] + animationFactor; // 可以根据需求修改此逻辑
|
|
188
|
-
};
|
|
189
183
|
|
|
190
184
|
// 渲染对讲中的动画
|
|
191
185
|
|
|
@@ -205,20 +199,18 @@ export const VoiceIntercom = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
205
199
|
className: clsx({
|
|
206
200
|
'ipc-player-plugin-voice-small-ing-intercom': mode !== 'circle'
|
|
207
201
|
})
|
|
208
|
-
}, /*#__PURE__*/React.createElement(
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
202
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
203
|
+
className: clsx('bars'),
|
|
204
|
+
style: {
|
|
205
|
+
transform: `scale(${scale})`,
|
|
206
|
+
transformOrigin: 'center'
|
|
207
|
+
}
|
|
208
|
+
}, [0, 1, 2, 3, 4].map(index => /*#__PURE__*/React.createElement(View, {
|
|
213
209
|
key: index,
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
fill: talkingColor,
|
|
219
|
-
rx: index === 0 || index === 4 ? 1 : 2 // 控制圆角
|
|
220
|
-
,
|
|
221
|
-
ry: index === 0 || index === 4 ? 1 : 2
|
|
210
|
+
className: clsx('bar'),
|
|
211
|
+
style: {
|
|
212
|
+
background: talkingColor
|
|
213
|
+
}
|
|
222
214
|
})))))() : (() => {
|
|
223
215
|
if (icon) {
|
|
224
216
|
if (typeof icon === 'string') {
|
|
@@ -66,3 +66,88 @@
|
|
|
66
66
|
width: 42%;
|
|
67
67
|
height: 42%;
|
|
68
68
|
}
|
|
69
|
+
|
|
70
|
+
.bars {
|
|
71
|
+
padding: 0 1px;
|
|
72
|
+
display: flex;
|
|
73
|
+
align-items: center;
|
|
74
|
+
justify-content: center;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.bar {
|
|
78
|
+
width: 2px;
|
|
79
|
+
background: white;
|
|
80
|
+
margin: 0 1px;
|
|
81
|
+
border-radius: 5px;
|
|
82
|
+
animation-duration: 0.5s !important;
|
|
83
|
+
animation-timing-function: ease-in-out;
|
|
84
|
+
animation-iteration-count: infinite;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.bar:nth-child(1) {
|
|
88
|
+
height: 5px;
|
|
89
|
+
animation-name: bounce1;
|
|
90
|
+
animation-delay: -0.4s;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.bar:nth-child(2) {
|
|
94
|
+
height: 10px;
|
|
95
|
+
animation-name: bounce2;
|
|
96
|
+
animation-delay: -0.2s;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.bar:nth-child(3) {
|
|
100
|
+
height: 16px;
|
|
101
|
+
animation-name: bounce3;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.bar:nth-child(4) {
|
|
105
|
+
height: 10px;
|
|
106
|
+
animation-name: bounce2;
|
|
107
|
+
animation-delay: -0.2s;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.bar:nth-child(5) {
|
|
111
|
+
height: 5px;
|
|
112
|
+
animation-name: bounce1;
|
|
113
|
+
animation-delay: -0.4s;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
@keyframes bounce1 {
|
|
117
|
+
0%,
|
|
118
|
+
100% {
|
|
119
|
+
transform: scaleY(1);
|
|
120
|
+
}
|
|
121
|
+
50% {
|
|
122
|
+
transform: scaleY(1.5);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@keyframes bounce2 {
|
|
127
|
+
0%,
|
|
128
|
+
100% {
|
|
129
|
+
transform: scaleY(1);
|
|
130
|
+
}
|
|
131
|
+
50% {
|
|
132
|
+
transform: scaleY(1.4);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@keyframes bounce3 {
|
|
137
|
+
0%,
|
|
138
|
+
100% {
|
|
139
|
+
transform: scaleY(1);
|
|
140
|
+
}
|
|
141
|
+
50% {
|
|
142
|
+
transform: scaleY(1.2);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// @keyframes bars-move {
|
|
147
|
+
// 0% {
|
|
148
|
+
// transform: translateX(0) translateY(-50%) rotate(45deg);
|
|
149
|
+
// }
|
|
150
|
+
// 100% {
|
|
151
|
+
// transform: translateX(10px) translateY(-50%) rotate(45deg);
|
|
152
|
+
// }
|
|
153
|
+
// }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ray-js/ipc-player-integration",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.30",
|
|
4
4
|
"description": "IPC 融合播放器",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"files": [
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@ray-js/direction-control": "^0.0.8",
|
|
39
|
-
"@ray-js/ipc-ptz-zoom": "0.0.3
|
|
40
|
-
"@ray-js/ray-ipc-player": "2.1.0
|
|
41
|
-
"@ray-js/ray-ipc-utils": "1.1.
|
|
39
|
+
"@ray-js/ipc-ptz-zoom": "^0.0.3",
|
|
40
|
+
"@ray-js/ray-ipc-player": "^2.1.0",
|
|
41
|
+
"@ray-js/ray-ipc-utils": "^1.1.14",
|
|
42
42
|
"@ray-js/svg": "0.2.0",
|
|
43
43
|
"clsx": "^1.2.1",
|
|
44
44
|
"color": "^5.0.2",
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { UseCtx } from '../../interface';
|
|
2
|
-
import { InitPlayerWidgetsOptions } from '.';
|
|
3
|
-
type Ctx = ReturnType<UseCtx>;
|
|
4
|
-
/**
|
|
5
|
-
* 多目设备初始化控件
|
|
6
|
-
*/
|
|
7
|
-
export declare function initMultiCameraPlayerWidgets(ctx: Ctx, options: InitPlayerWidgetsOptions): void;
|
|
8
|
-
export {};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { FullScreen, MultiPtz, Muted, RecordVideo, Resolution, Screenshot, SmallIntercom, SwitchLayout, VideoBitKBP, TileTip, TileActions, LandscapeTip, MoveablePtzControl, PtzMoveableTip } from '../../widgets';
|
|
2
|
-
import { landscapeTipId, moveablePtzControlId, multiPtzId, ptzMoveableTipId, tileActionsId, tileTipId } from '../../ui/constant';
|
|
3
|
-
import { multiPrefix } from '../../widgets/multiCamera/constants';
|
|
4
|
-
/**
|
|
5
|
-
* 多目设备初始化控件
|
|
6
|
-
*/
|
|
7
|
-
export function initMultiCameraPlayerWidgets(ctx, options) {
|
|
8
|
-
const topRightContent = [{
|
|
9
|
-
id: 'VideoBitKBP',
|
|
10
|
-
content: VideoBitKBP
|
|
11
|
-
}];
|
|
12
|
-
const bottomLeftContent = [{
|
|
13
|
-
id: 'Screenshot',
|
|
14
|
-
content: Screenshot
|
|
15
|
-
}, {
|
|
16
|
-
id: 'RecordVideo',
|
|
17
|
-
content: RecordVideo
|
|
18
|
-
}, {
|
|
19
|
-
id: 'Muted',
|
|
20
|
-
content: Muted
|
|
21
|
-
}, {
|
|
22
|
-
id: 'SmallIntercom',
|
|
23
|
-
content: SmallIntercom
|
|
24
|
-
}, {
|
|
25
|
-
id: multiPtzId,
|
|
26
|
-
content: MultiPtz,
|
|
27
|
-
hidden: true
|
|
28
|
-
}, {
|
|
29
|
-
id: 'Resolution',
|
|
30
|
-
content: Resolution,
|
|
31
|
-
initProps: {
|
|
32
|
-
verticalResolutionCustomClick: options.verticalResolutionCustomClick
|
|
33
|
-
}
|
|
34
|
-
}];
|
|
35
|
-
const bottomRightContent = [{
|
|
36
|
-
id: 'SwitchLayout',
|
|
37
|
-
content: SwitchLayout
|
|
38
|
-
}, {
|
|
39
|
-
id: 'FullScreen',
|
|
40
|
-
content: FullScreen
|
|
41
|
-
}];
|
|
42
|
-
const removeContentById = (content, id) => {
|
|
43
|
-
content.splice(content.findIndex(item => item.id === id), 1);
|
|
44
|
-
};
|
|
45
|
-
options.hideKbsMenu && removeContentById(topRightContent, 'VideoBitKBP');
|
|
46
|
-
options.hideScreenShotMenu && removeContentById(bottomLeftContent, 'Screenshot');
|
|
47
|
-
options.hideRecordVideoMenu && removeContentById(bottomLeftContent, 'RecordVideo');
|
|
48
|
-
options.hideHorizontalMenu && removeContentById(bottomRightContent, 'FullScreen');
|
|
49
|
-
ctx.addContent('topLeft', []);
|
|
50
|
-
ctx.addContent('topRight', topRightContent);
|
|
51
|
-
ctx.addContent('bottomLeft', bottomLeftContent);
|
|
52
|
-
ctx.addContent('bottomRight', bottomRightContent);
|
|
53
|
-
ctx.addContent('absolute', [{
|
|
54
|
-
id: tileTipId,
|
|
55
|
-
content: TileTip,
|
|
56
|
-
absoluteContentClassName: `${multiPrefix}-tile-tip-wrap`,
|
|
57
|
-
hidden: true
|
|
58
|
-
}, {
|
|
59
|
-
id: ptzMoveableTipId,
|
|
60
|
-
content: PtzMoveableTip,
|
|
61
|
-
absoluteContentClassName: `${multiPrefix}-tile-tip-wrap`,
|
|
62
|
-
hidden: true
|
|
63
|
-
}, {
|
|
64
|
-
id: landscapeTipId,
|
|
65
|
-
content: LandscapeTip,
|
|
66
|
-
absoluteContentClassName: `${multiPrefix}-tile-tip-wrap`,
|
|
67
|
-
hidden: true
|
|
68
|
-
}, {
|
|
69
|
-
id: tileActionsId,
|
|
70
|
-
absoluteContentClassName: `${multiPrefix}-actions-wrap`,
|
|
71
|
-
content: TileActions
|
|
72
|
-
}, {
|
|
73
|
-
id: moveablePtzControlId,
|
|
74
|
-
content: MoveablePtzControl,
|
|
75
|
-
absoluteNoCoverView: true,
|
|
76
|
-
hidden: true
|
|
77
|
-
}]);
|
|
78
|
-
}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
export declare const Battery: import("react").FunctionComponent<{
|
|
3
|
-
IPCPlayerContext: import("../..").IpcContext;
|
|
4
|
-
} & {
|
|
5
|
-
devId: string;
|
|
6
|
-
brandColor: import("../..").RetAtom<string>;
|
|
7
|
-
verticalMic: import("../..").RetAtom<boolean>;
|
|
8
|
-
saveToAlbum: 0 | 1;
|
|
9
|
-
showPtzControlTip: boolean;
|
|
10
|
-
screenType: import("../..").RetAtom<import("../..").ScreenType>;
|
|
11
|
-
recording: import("../..").RetAtom<boolean>;
|
|
12
|
-
recordingDisabled: import("../..").RetAtom<boolean>;
|
|
13
|
-
mute: import("../..").RetAtom<boolean>;
|
|
14
|
-
intercom: import("../..").RetAtom<boolean>;
|
|
15
|
-
intercomMode: import("../..").RetAtom<import("@ray-js/ray-ipc-utils/lib/interface").IntercomMode>;
|
|
16
|
-
intercomSupported: import("../..").RetAtom<boolean>;
|
|
17
|
-
resolution: import("../..").RetAtom<string>;
|
|
18
|
-
resolutionList: import("../..").RetAtom<string[]>;
|
|
19
|
-
playState: import("../..").RetAtom<import("../..").PlayState>;
|
|
20
|
-
IPCPlayerInstance: import("../..").IpcContext;
|
|
21
|
-
topLeftContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
22
|
-
topRightContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
23
|
-
bottomLeftContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
24
|
-
bottomRightContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
25
|
-
absoluteContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
26
|
-
ptzControlTipDisabled: import("../..").RetAtom<boolean>;
|
|
27
|
-
setPtzControlTipDisabled: (value: boolean) => void;
|
|
28
|
-
setBrandColor: (color: string) => void;
|
|
29
|
-
setVerticalMic: (value: boolean) => void;
|
|
30
|
-
setScreenType: (type: import("../..").ScreenType) => void;
|
|
31
|
-
setRecordingDisabled: (type: boolean) => void;
|
|
32
|
-
setResolution: (type: string) => void;
|
|
33
|
-
setResolutionList: (type: string[]) => void;
|
|
34
|
-
setRecording: (value: boolean, onlyUpdateAtom?: boolean | undefined) => Promise<import("../..").RecordInfoData>;
|
|
35
|
-
setIntercom: (value: boolean, onlyUpdateAtom?: boolean | undefined) => Promise<boolean>;
|
|
36
|
-
setMute: (value: boolean) => Promise<boolean>;
|
|
37
|
-
changeStreamStatus: (value: import("../..").PlayerStreamStatus) => void;
|
|
38
|
-
getStreamStatus: () => import("../..").PlayerStreamStatus;
|
|
39
|
-
setPlayState: (value: import("../..").PlayState) => void;
|
|
40
|
-
addContent: <T>(type: import("../..").ContentPlaceType, config: import("../..").ComponentConfig<T> | import("../..").ComponentConfig<T>[], position?: number | undefined) => void;
|
|
41
|
-
deleteContent: (type: import("../..").ContentPlaceType, id: string) => void;
|
|
42
|
-
getContent: () => {
|
|
43
|
-
topLeft: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
44
|
-
topRight: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
45
|
-
bottomLeft: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
46
|
-
bottomRight: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
47
|
-
absolute: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
48
|
-
};
|
|
49
|
-
updateContent: (type: import("../..").ContentPlaceType, data: import("../..").ComponentConfig<any & Record<string, any>>[]) => void;
|
|
50
|
-
hasContent: (type: import("../..").ContentPlaceType, id: string) => boolean;
|
|
51
|
-
hideContent: (type: import("../..").ContentPlaceType, id: string) => void;
|
|
52
|
-
showContent: (type: import("../..").ContentPlaceType, id: string) => void;
|
|
53
|
-
toast: import("../../ports.output").Toast;
|
|
54
|
-
event: import("../..").EventInstance;
|
|
55
|
-
multiCameraCtx: {
|
|
56
|
-
isSupport: boolean;
|
|
57
|
-
protocol: import("../..").VideoSplitProtocol;
|
|
58
|
-
layoutStyle: import("../..").RetAtom<import("../..").MultiCameraLayoutStyle>;
|
|
59
|
-
screenMode: import("../..").RetAtom<import("../..").MultiCameraScreenMode>;
|
|
60
|
-
nextLayoutStyle: import("../..").RetAtom<import("../..").MultiCameraLayoutStyle>;
|
|
61
|
-
selectedLenInfo: import("../..").RetAtom<import("../..").MultiCameraLenInfo>;
|
|
62
|
-
ptzStatus: import("../..").RetAtom<boolean>;
|
|
63
|
-
dpSupportMap: Record<"ptz_control" | "ipc_multi_locate_coor" | "zoom_control" | "ipc_multi_locate_coors" | "ipc_multi_ptz_control" | "ipc_multi_zoom_control", boolean>;
|
|
64
|
-
extendProps: {
|
|
65
|
-
type: number | undefined;
|
|
66
|
-
onSelectVideoIndex: (this: any, event: any) => void;
|
|
67
|
-
onLayoutStatusChanged: (this: any, event: any) => void;
|
|
68
|
-
onLocalizerViewLocated: (this: any, event: any) => Promise<void>;
|
|
69
|
-
onSwipeAtVideoIndex: (this: any, event: any) => Promise<void>;
|
|
70
|
-
};
|
|
71
|
-
setLayoutStyle: (this: unknown, style: import("../..").MultiCameraLayoutStyle) => void;
|
|
72
|
-
setScreenMode: (this: unknown, mode: import("../..").MultiCameraScreenMode) => void;
|
|
73
|
-
setPtzStatus: (value: boolean | ((prevValue: boolean) => boolean)) => void;
|
|
74
|
-
showLenNames: (this: unknown, value: boolean) => void;
|
|
75
|
-
setNextLayoutStyle: (value: import("../..").MultiCameraLayoutStyle | ((prevValue: import("../..").MultiCameraLayoutStyle) => import("../..").MultiCameraLayoutStyle)) => void;
|
|
76
|
-
getNextLayoutStyle: (this: unknown) => Promise<import("../..").MultiCameraLayoutStyle>;
|
|
77
|
-
};
|
|
78
|
-
} & {
|
|
79
|
-
className?: string | undefined;
|
|
80
|
-
}>;
|
|
81
|
-
export declare const BatteryFull: import("react").FunctionComponent<{
|
|
82
|
-
IPCPlayerContext: import("../..").IpcContext;
|
|
83
|
-
} & {
|
|
84
|
-
devId: string;
|
|
85
|
-
brandColor: import("../..").RetAtom<string>;
|
|
86
|
-
verticalMic: import("../..").RetAtom<boolean>;
|
|
87
|
-
saveToAlbum: 0 | 1;
|
|
88
|
-
showPtzControlTip: boolean;
|
|
89
|
-
screenType: import("../..").RetAtom<import("../..").ScreenType>;
|
|
90
|
-
recording: import("../..").RetAtom<boolean>;
|
|
91
|
-
recordingDisabled: import("../..").RetAtom<boolean>;
|
|
92
|
-
mute: import("../..").RetAtom<boolean>;
|
|
93
|
-
intercom: import("../..").RetAtom<boolean>;
|
|
94
|
-
intercomMode: import("../..").RetAtom<import("@ray-js/ray-ipc-utils/lib/interface").IntercomMode>;
|
|
95
|
-
intercomSupported: import("../..").RetAtom<boolean>;
|
|
96
|
-
resolution: import("../..").RetAtom<string>;
|
|
97
|
-
resolutionList: import("../..").RetAtom<string[]>;
|
|
98
|
-
playState: import("../..").RetAtom<import("../..").PlayState>;
|
|
99
|
-
IPCPlayerInstance: import("../..").IpcContext;
|
|
100
|
-
topLeftContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
101
|
-
topRightContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
102
|
-
bottomLeftContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
103
|
-
bottomRightContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
104
|
-
absoluteContent: import("../..").RetAtom<import("../..").ComponentConfig<any & Record<string, any>>[]>;
|
|
105
|
-
ptzControlTipDisabled: import("../..").RetAtom<boolean>;
|
|
106
|
-
setPtzControlTipDisabled: (value: boolean) => void;
|
|
107
|
-
setBrandColor: (color: string) => void;
|
|
108
|
-
setVerticalMic: (value: boolean) => void;
|
|
109
|
-
setScreenType: (type: import("../..").ScreenType) => void;
|
|
110
|
-
setRecordingDisabled: (type: boolean) => void;
|
|
111
|
-
setResolution: (type: string) => void;
|
|
112
|
-
setResolutionList: (type: string[]) => void;
|
|
113
|
-
setRecording: (value: boolean, onlyUpdateAtom?: boolean | undefined) => Promise<import("../..").RecordInfoData>;
|
|
114
|
-
setIntercom: (value: boolean, onlyUpdateAtom?: boolean | undefined) => Promise<boolean>;
|
|
115
|
-
setMute: (value: boolean) => Promise<boolean>;
|
|
116
|
-
changeStreamStatus: (value: import("../..").PlayerStreamStatus) => void;
|
|
117
|
-
getStreamStatus: () => import("../..").PlayerStreamStatus;
|
|
118
|
-
setPlayState: (value: import("../..").PlayState) => void;
|
|
119
|
-
addContent: <T>(type: import("../..").ContentPlaceType, config: import("../..").ComponentConfig<T> | import("../..").ComponentConfig<T>[], position?: number | undefined) => void;
|
|
120
|
-
deleteContent: (type: import("../..").ContentPlaceType, id: string) => void;
|
|
121
|
-
getContent: () => {
|
|
122
|
-
topLeft: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
123
|
-
topRight: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
124
|
-
bottomLeft: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
125
|
-
bottomRight: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
126
|
-
absolute: import("../..").ComponentConfig<any & Record<string, any>>[];
|
|
127
|
-
};
|
|
128
|
-
updateContent: (type: import("../..").ContentPlaceType, data: import("../..").ComponentConfig<any & Record<string, any>>[]) => void;
|
|
129
|
-
hasContent: (type: import("../..").ContentPlaceType, id: string) => boolean;
|
|
130
|
-
hideContent: (type: import("../..").ContentPlaceType, id: string) => void;
|
|
131
|
-
showContent: (type: import("../..").ContentPlaceType, id: string) => void;
|
|
132
|
-
toast: import("../../ports.output").Toast;
|
|
133
|
-
event: import("../..").EventInstance;
|
|
134
|
-
multiCameraCtx: {
|
|
135
|
-
isSupport: boolean;
|
|
136
|
-
protocol: import("../..").VideoSplitProtocol;
|
|
137
|
-
layoutStyle: import("../..").RetAtom<import("../..").MultiCameraLayoutStyle>;
|
|
138
|
-
screenMode: import("../..").RetAtom<import("../..").MultiCameraScreenMode>;
|
|
139
|
-
nextLayoutStyle: import("../..").RetAtom<import("../..").MultiCameraLayoutStyle>;
|
|
140
|
-
selectedLenInfo: import("../..").RetAtom<import("../..").MultiCameraLenInfo>;
|
|
141
|
-
ptzStatus: import("../..").RetAtom<boolean>;
|
|
142
|
-
dpSupportMap: Record<"ptz_control" | "ipc_multi_locate_coor" | "zoom_control" | "ipc_multi_locate_coors" | "ipc_multi_ptz_control" | "ipc_multi_zoom_control", boolean>;
|
|
143
|
-
extendProps: {
|
|
144
|
-
type: number | undefined;
|
|
145
|
-
onSelectVideoIndex: (this: any, event: any) => void;
|
|
146
|
-
onLayoutStatusChanged: (this: any, event: any) => void;
|
|
147
|
-
onLocalizerViewLocated: (this: any, event: any) => Promise<void>;
|
|
148
|
-
onSwipeAtVideoIndex: (this: any, event: any) => Promise<void>;
|
|
149
|
-
};
|
|
150
|
-
setLayoutStyle: (this: unknown, style: import("../..").MultiCameraLayoutStyle) => void;
|
|
151
|
-
setScreenMode: (this: unknown, mode: import("../..").MultiCameraScreenMode) => void;
|
|
152
|
-
setPtzStatus: (value: boolean | ((prevValue: boolean) => boolean)) => void;
|
|
153
|
-
showLenNames: (this: unknown, value: boolean) => void;
|
|
154
|
-
setNextLayoutStyle: (value: import("../..").MultiCameraLayoutStyle | ((prevValue: import("../..").MultiCameraLayoutStyle) => import("../..").MultiCameraLayoutStyle)) => void;
|
|
155
|
-
getNextLayoutStyle: (this: unknown) => Promise<import("../..").MultiCameraLayoutStyle>;
|
|
156
|
-
};
|
|
157
|
-
} & {
|
|
158
|
-
className?: string | undefined;
|
|
159
|
-
}>;
|