@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.
Files changed (53) hide show
  1. package/lib/ctx/ctx.composition.d.ts +9 -3
  2. package/lib/ctx/ctx.composition.js +42 -2
  3. package/lib/ctx/ctx.js +5 -0
  4. package/lib/ctx/multiCameraCtx.d.ts +31 -1
  5. package/lib/ctx/multiCameraCtx.js +60 -16
  6. package/lib/features/initPlayerWidgets/index.d.ts +7 -1
  7. package/lib/features/initPlayerWidgets/index.js +14 -11
  8. package/lib/i18n/index.d.ts +4 -0
  9. package/lib/i18n/strings.d.ts +2 -0
  10. package/lib/i18n/strings.js +4 -2
  11. package/lib/iconfont/iconfont.css +126 -6
  12. package/lib/iconfont/iconfont.js +13 -13
  13. package/lib/iconfont/iconfont.json +217 -7
  14. package/lib/iconfont/iconfont.ttf +0 -0
  15. package/lib/iconfont/iconfont.woff +0 -0
  16. package/lib/iconfont/iconfont.woff2 +0 -0
  17. package/lib/index.d.ts +2 -1
  18. package/lib/index.js +2 -1
  19. package/lib/interface.d.ts +43 -2
  20. package/lib/ui/constant.d.ts +1 -0
  21. package/lib/ui/constant.js +1 -0
  22. package/lib/ui/ui.d.ts +1 -0
  23. package/lib/ui/ui.js +144 -34
  24. package/lib/ui/ui.less +2 -2
  25. package/lib/utils/index.d.ts +2 -0
  26. package/lib/utils/index.js +12 -1
  27. package/lib/utils/videoSplitHelper.d.ts +18 -0
  28. package/lib/utils/videoSplitHelper.js +48 -0
  29. package/lib/widgets/flowLowTip/flowLowTip.d.ts +8 -0
  30. package/lib/widgets/flowLowTip/flowLowTip.js +65 -0
  31. package/lib/widgets/flowLowTip/flowLowTip.less +73 -0
  32. package/lib/widgets/flowLowTip/index.d.ts +1 -0
  33. package/lib/widgets/flowLowTip/index.js +1 -0
  34. package/lib/widgets/fullScreen/fullScreen.js +2 -3
  35. package/lib/widgets/fullScreen/fullVoiceIntercom.js +1 -1
  36. package/lib/widgets/fullScreen/verticalScreen.js +1 -1
  37. package/lib/widgets/index.d.ts +2 -0
  38. package/lib/widgets/index.js +3 -1
  39. package/lib/widgets/multiCamera/index.less +23 -0
  40. package/lib/widgets/multiCamera/moveablePtzControl.js +16 -7
  41. package/lib/widgets/multiCamera/tileActions.js +2 -2
  42. package/lib/widgets/toggleVerticalFull/index.d.ts +1 -0
  43. package/lib/widgets/toggleVerticalFull/index.js +1 -0
  44. package/lib/widgets/toggleVerticalFull/toggleVerticalFull.d.ts +8 -0
  45. package/lib/widgets/toggleVerticalFull/toggleVerticalFull.js +32 -0
  46. package/lib/widgets/toggleVerticalFull/toggleVerticalFull.less +4 -0
  47. package/lib/widgets/voiceIntercom/voiceIntercom.js +12 -20
  48. package/lib/widgets/voiceIntercom/voiceIntercom.less +85 -0
  49. package/package.json +4 -4
  50. package/lib/features/initPlayerWidgets/multiCamera.d.ts +0 -8
  51. package/lib/features/initPlayerWidgets/multiCamera.js +0 -78
  52. package/lib/widgets/battery/battery.composition.d.ts +0 -159
  53. package/lib/widgets/voiceIntercom/voiceIntercom.d.ts +0 -95
@@ -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 = useRef(getPtzData(devId));
165
- const zoomData = useRef(getZoomData(devId));
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.current, {
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.current, {
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.current : [],
381
- ptzData: selectedLenInfo.supportPTZ ? ptzData.current : [],
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(TileSwitchLayout, props), /*#__PURE__*/React.createElement(TileMultiPtz, _extends({}, props, {
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
+ }
@@ -0,0 +1,4 @@
1
+ .toggle-vertical-full {
2
+ font-size: var(--iconPlayerSize);
3
+ color: var(--iconColor);
4
+ }
@@ -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
- widthScale = 0.11,
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(Svg, {
209
- width: `${200 * widthScale}px`,
210
- height: `${200 * heightScale}px`,
211
- viewBox: `0 0 ${200 * widthScale} ${200 * heightScale}`
212
- }, [0, 1, 2, 3, 4].map(index => /*#__PURE__*/React.createElement("rect", {
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
- x: (index * 34 + 20) * widthScale,
215
- y: (200 - getHeight(frame, index)) / 2 * heightScale,
216
- width: 20 * widthScale,
217
- height: getHeight(frame, index) * heightScale,
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.29-beta.9",
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-beta-2",
40
- "@ray-js/ray-ipc-player": "2.1.0-beta.2",
41
- "@ray-js/ray-ipc-utils": "1.1.13-beta.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
- }>;