@ray-js/ipc-player-integration 0.0.1-beta-53 → 0.0.1-beta-54
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/i18n/index.d.ts +4 -0
- package/lib/i18n/strings.d.ts +2 -0
- package/lib/i18n/strings.js +4 -2
- package/lib/plugins/fullScreen/fullScreen.js +16 -8
- package/lib/plugins/fullScreen/fullScreen.less +1 -1
- package/lib/plugins/resolution/fullResolutionControl.js +7 -3
- package/lib/ui/topLeftContent.js +1 -6
- package/lib/ui/ui.js +16 -3
- package/package.json +2 -2
package/lib/i18n/index.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ declare const Strings: kit.I18N<{
|
|
|
19
19
|
ipc_player_authorize_cancel_text: string;
|
|
20
20
|
ipc_player_authorize_confirm_text: string;
|
|
21
21
|
ipc_player_error_record_tip: string;
|
|
22
|
+
ipc_player_change_resolution_success: string;
|
|
22
23
|
};
|
|
23
24
|
zh: {
|
|
24
25
|
ipc_player_resolution_HD: string;
|
|
@@ -39,6 +40,7 @@ declare const Strings: kit.I18N<{
|
|
|
39
40
|
ipc_player_authorize_cancel_text: string;
|
|
40
41
|
ipc_player_authorize_confirm_text: string;
|
|
41
42
|
ipc_player_error_record_tip: string;
|
|
43
|
+
ipc_player_change_resolution_success: string;
|
|
42
44
|
};
|
|
43
45
|
}, {
|
|
44
46
|
ipc_player_resolution_HD: string;
|
|
@@ -59,6 +61,7 @@ declare const Strings: kit.I18N<{
|
|
|
59
61
|
ipc_player_authorize_cancel_text: string;
|
|
60
62
|
ipc_player_authorize_confirm_text: string;
|
|
61
63
|
ipc_player_error_record_tip: string;
|
|
64
|
+
ipc_player_change_resolution_success: string;
|
|
62
65
|
} | {
|
|
63
66
|
ipc_player_resolution_HD: string;
|
|
64
67
|
ipc_player_resolution_SD: string;
|
|
@@ -78,5 +81,6 @@ declare const Strings: kit.I18N<{
|
|
|
78
81
|
ipc_player_authorize_cancel_text: string;
|
|
79
82
|
ipc_player_authorize_confirm_text: string;
|
|
80
83
|
ipc_player_error_record_tip: string;
|
|
84
|
+
ipc_player_change_resolution_success: string;
|
|
81
85
|
}>;
|
|
82
86
|
export default Strings;
|
package/lib/i18n/strings.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ declare const _default: {
|
|
|
18
18
|
ipc_player_authorize_cancel_text: string;
|
|
19
19
|
ipc_player_authorize_confirm_text: string;
|
|
20
20
|
ipc_player_error_record_tip: string;
|
|
21
|
+
ipc_player_change_resolution_success: string;
|
|
21
22
|
};
|
|
22
23
|
zh: {
|
|
23
24
|
ipc_player_resolution_HD: string;
|
|
@@ -38,6 +39,7 @@ declare const _default: {
|
|
|
38
39
|
ipc_player_authorize_cancel_text: string;
|
|
39
40
|
ipc_player_authorize_confirm_text: string;
|
|
40
41
|
ipc_player_error_record_tip: string;
|
|
42
|
+
ipc_player_change_resolution_success: string;
|
|
41
43
|
};
|
|
42
44
|
};
|
|
43
45
|
export default _default;
|
package/lib/i18n/strings.js
CHANGED
|
@@ -17,7 +17,8 @@ export default {
|
|
|
17
17
|
ipc_player_no_album_permission: 'You currently do not have access to the album or storage. Please enable this permission in the settings.',
|
|
18
18
|
ipc_player_authorize_cancel_text: 'Cancel',
|
|
19
19
|
ipc_player_authorize_confirm_text: 'Go to Settings',
|
|
20
|
-
ipc_player_error_record_tip: 'The recording has failed, please try again later.'
|
|
20
|
+
ipc_player_error_record_tip: 'The recording has failed, please try again later.',
|
|
21
|
+
ipc_player_change_resolution_success: '切换成功'
|
|
21
22
|
},
|
|
22
23
|
zh: {
|
|
23
24
|
ipc_player_resolution_HD: '高清',
|
|
@@ -37,6 +38,7 @@ export default {
|
|
|
37
38
|
ipc_player_no_album_permission: '您当前没有 相册/存储 的访问权限, 请在设置中打开此权限',
|
|
38
39
|
ipc_player_authorize_cancel_text: '取消',
|
|
39
40
|
ipc_player_authorize_confirm_text: '去设置',
|
|
40
|
-
ipc_player_error_record_tip: '录制出错了,请稍后再试'
|
|
41
|
+
ipc_player_error_record_tip: '录制出错了,请稍后再试',
|
|
42
|
+
ipc_player_change_resolution_success: '切换成功'
|
|
41
43
|
}
|
|
42
44
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
2
|
import React, { useContext } from 'react';
|
|
3
|
-
import { View, setPageOrientation, Text } from '@ray-js/ray';
|
|
3
|
+
import { View, setPageOrientation, Text, hideMenuButton, showMenuButton, showStatusBar, hideStatusBar, setNavigationBarBack } from '@ray-js/ray';
|
|
4
4
|
import { useUpdateEffect } from 'ahooks';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { unstable_batchedUpdates as batchedUpdates } from '@ray-core/ray';
|
|
@@ -42,9 +42,9 @@ export function FullScreen(props) {
|
|
|
42
42
|
*/
|
|
43
43
|
const handleFull = () => {
|
|
44
44
|
hasDpCode(devId, DIRECTION_CONTROL_DP_CODE).then(hasDirectionControlDpCode => {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
hideMenuButton();
|
|
46
|
+
hideStatusBar();
|
|
47
|
+
setNavigationBarBack({
|
|
48
48
|
type: 'custom'
|
|
49
49
|
});
|
|
50
50
|
batchedUpdates(() => {
|
|
@@ -95,11 +95,11 @@ export function FullScreen(props) {
|
|
|
95
95
|
},
|
|
96
96
|
vertical: () => {
|
|
97
97
|
event.emit(pauseTimeToHideAllComponent);
|
|
98
|
-
|
|
98
|
+
setNavigationBarBack({
|
|
99
99
|
type: 'system'
|
|
100
100
|
});
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
showMenuButton();
|
|
102
|
+
showStatusBar();
|
|
103
103
|
deleteContent('topLeft', verticalScreenId);
|
|
104
104
|
deleteContent('absolute', voiceIntercomId);
|
|
105
105
|
deleteContent('absolute', ptzControlId);
|
|
@@ -111,13 +111,21 @@ export function FullScreen(props) {
|
|
|
111
111
|
var _handlers$screenType;
|
|
112
112
|
(_handlers$screenType = handlers[screenType]) === null || _handlers$screenType === void 0 || _handlers$screenType.call(handlers);
|
|
113
113
|
}, [screenType]);
|
|
114
|
+
|
|
115
|
+
// 点击事件处理函数
|
|
114
116
|
const handClick = target => {
|
|
117
|
+
// 根据target的值设置pageOrientation的值
|
|
115
118
|
const pageOrientation = target === 'vertical' ? 'portrait' : 'landscape';
|
|
119
|
+
// 发射事件
|
|
116
120
|
event.emit(pauseTimeToHideAllComponent);
|
|
121
|
+
// 设置screenType的值
|
|
122
|
+
setScreenType(target);
|
|
123
|
+
// 设置pageOrientation的值
|
|
117
124
|
setPageOrientation({
|
|
118
125
|
pageOrientation,
|
|
119
126
|
success: () => {
|
|
120
|
-
|
|
127
|
+
// 忽略横屏
|
|
128
|
+
// setScreenType(target);
|
|
121
129
|
}
|
|
122
130
|
});
|
|
123
131
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "core-js/modules/esnext.iterator.constructor.js";
|
|
2
2
|
import "core-js/modules/esnext.iterator.map.js";
|
|
3
3
|
import React, { useCallback, useState, useContext, useEffect } from 'react';
|
|
4
|
-
import { Text, View } from '@ray-js/ray';
|
|
4
|
+
import { Text, View, showToast } from '@ray-js/ray';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import Strings from '../../i18n';
|
|
7
7
|
import { useMemoizedFn } from '../../hooks';
|
|
@@ -44,15 +44,19 @@ export const FullResolutionControl = props => {
|
|
|
44
44
|
}, []);
|
|
45
45
|
const changeResolution = useCallback(value => {
|
|
46
46
|
if (value === resolution) {
|
|
47
|
-
|
|
47
|
+
showToast({
|
|
48
48
|
icon: 'none',
|
|
49
49
|
title: Strings.getLang('ipc_player_current_resolution_is_equal')
|
|
50
50
|
});
|
|
51
51
|
} else {
|
|
52
52
|
setResolution(value).then(() => {
|
|
53
|
+
showToast({
|
|
54
|
+
icon: 'none',
|
|
55
|
+
title: Strings.getLang('ipc_player_change_resolution_success')
|
|
56
|
+
});
|
|
53
57
|
setHide(true);
|
|
54
58
|
}).catch(() => {
|
|
55
|
-
|
|
59
|
+
showToast({
|
|
56
60
|
icon: 'error',
|
|
57
61
|
title: Strings.getLang('ipc_player_resolution_change_error')
|
|
58
62
|
});
|
package/lib/ui/topLeftContent.js
CHANGED
|
@@ -2,7 +2,6 @@ import React from 'react';
|
|
|
2
2
|
import { CoverView, View } from '@ray-js/ray';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import { useStore } from '../ctx/store';
|
|
5
|
-
import { useComponentHideState } from './hooks';
|
|
6
5
|
const TopLeftContent = _ref => {
|
|
7
6
|
let {
|
|
8
7
|
ctx,
|
|
@@ -14,7 +13,6 @@ const TopLeftContent = _ref => {
|
|
|
14
13
|
screenType: ctx.screenType,
|
|
15
14
|
playState: ctx.playState
|
|
16
15
|
});
|
|
17
|
-
const [shouldHide] = useComponentHideState();
|
|
18
16
|
return /*#__PURE__*/React.createElement(CoverView, {
|
|
19
17
|
className: clsx('ipc-player-top-left-content-wrap'),
|
|
20
18
|
style: {
|
|
@@ -25,10 +23,7 @@ const TopLeftContent = _ref => {
|
|
|
25
23
|
paddingTop: screenType === 'vertical' ? '12px' : '16px',
|
|
26
24
|
paddingLeft: screenType === 'vertical' ? 0 : '25px'
|
|
27
25
|
},
|
|
28
|
-
className: clsx('ipc-player-top-left-content-container'
|
|
29
|
-
// 'ipc-player-top-left-content-hide': shouldHide,
|
|
30
|
-
// 'ipc-player-top-left-content-show': !shouldHide,
|
|
31
|
-
})
|
|
26
|
+
className: clsx('ipc-player-top-left-content-container')
|
|
32
27
|
}, children));
|
|
33
28
|
};
|
|
34
29
|
export default /*#__PURE__*/React.memo(TopLeftContent);
|
package/lib/ui/ui.js
CHANGED
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
3
|
import "core-js/modules/esnext.iterator.constructor.js";
|
|
4
4
|
import "core-js/modules/esnext.iterator.map.js";
|
|
5
|
-
import React, { useState, useRef, useMemo, useEffect, useImperativeHandle } from 'react';
|
|
5
|
+
import React, { useContext, useState, useRef, useMemo, useEffect, useImperativeHandle } from 'react';
|
|
6
6
|
import { View, CoverView, getSystemInfoSync, usePageEvent } from '@ray-js/ray';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
8
|
import IPCPlayer from '@ray-js/ray-ipc-player';
|
|
@@ -54,6 +54,9 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
54
54
|
onPlayerTap,
|
|
55
55
|
extend = {}
|
|
56
56
|
} = props;
|
|
57
|
+
const {
|
|
58
|
+
event
|
|
59
|
+
} = useContext(UIEventContext);
|
|
57
60
|
const instance = getCtxInstance(props.instance, devId);
|
|
58
61
|
const {
|
|
59
62
|
setPlayState,
|
|
@@ -70,6 +73,7 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
70
73
|
这里用一个统一的状态标志期望控件是否展示
|
|
71
74
|
*/
|
|
72
75
|
const [componentHideState, setComponentHideState] = useState(false);
|
|
76
|
+
const [showRightContent, setShowRightContent] = useState(true);
|
|
73
77
|
prevTriggerEvent.current = componentHideState ? hideAllComponent : showAllComponent;
|
|
74
78
|
const eventRef = useRef(instance.event);
|
|
75
79
|
if (eventRef.current !== instance.event) {
|
|
@@ -81,6 +85,13 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
81
85
|
setBrandColor(brandColor);
|
|
82
86
|
setVerticalMic(verticalMic);
|
|
83
87
|
}, []);
|
|
88
|
+
const refreshBottomLeft = value => {
|
|
89
|
+
console.log(value, '++++++++++++++----sadbjasbdjbsj');
|
|
90
|
+
event.current.emit(startTimeToHideAllComponent);
|
|
91
|
+
event.current.emit(showAllComponent);
|
|
92
|
+
event.current.emit(playerTap);
|
|
93
|
+
setShowRightContent(value);
|
|
94
|
+
};
|
|
84
95
|
|
|
85
96
|
/**
|
|
86
97
|
* 监听屏幕布局变化
|
|
@@ -241,15 +252,17 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
241
252
|
eventRef.current.on(showAllComponent, listenShowEvent);
|
|
242
253
|
eventRef.current.on(hideAllComponent, listenHideEvent);
|
|
243
254
|
eventRef.current.on('disablePlayerTap', handDisablePlayerTap);
|
|
255
|
+
eventRef.current.on('refreshBottomLeft', refreshBottomLeft);
|
|
244
256
|
return () => {
|
|
245
257
|
eventRef.current.off(startTimeToHideAllComponent, listenStart);
|
|
246
258
|
eventRef.current.off(pauseTimeToHideAllComponent, listenPause);
|
|
247
259
|
eventRef.current.off(showAllComponent, listenShowEvent);
|
|
248
260
|
eventRef.current.off(hideAllComponent, listenHideEvent);
|
|
249
261
|
eventRef.current.off('disablePlayerTap', handDisablePlayerTap);
|
|
262
|
+
eventRef.current.off('refreshBottomLeft', refreshBottomLeft);
|
|
250
263
|
};
|
|
251
264
|
}, []);
|
|
252
|
-
|
|
265
|
+
playState === PlayState.PLAYING;
|
|
253
266
|
return /*#__PURE__*/React.createElement(UIEventContext.Provider, {
|
|
254
267
|
value: {
|
|
255
268
|
event: eventRef.current,
|
|
@@ -336,7 +349,7 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
336
349
|
ctx: instance
|
|
337
350
|
}, renderBottomLeftContent), /*#__PURE__*/React.createElement(BottomRightContent, {
|
|
338
351
|
ctx: instance
|
|
339
|
-
}, renderBottomRightContent)),
|
|
352
|
+
}, renderBottomRightContent)), (() => {
|
|
340
353
|
if (!absoluteContent || !(absoluteContent !== null && absoluteContent !== void 0 && absoluteContent.length)) return null;
|
|
341
354
|
return absoluteContent.map(item => {
|
|
342
355
|
if (item.hidden) return null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ray-js/ipc-player-integration",
|
|
3
|
-
"version": "0.0.1-beta-
|
|
3
|
+
"version": "0.0.1-beta-54",
|
|
4
4
|
"description": "IPC 播放器功能集成",
|
|
5
5
|
"main": "lib/index",
|
|
6
6
|
"files": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@ray-js/ipc-ptz-zoom": "0.0.2-beta-7",
|
|
40
40
|
"@ray-js/panel-sdk": "^1.13.1",
|
|
41
|
-
"@ray-js/ray-ipc-player": "2.0.20-beta-
|
|
41
|
+
"@ray-js/ray-ipc-player": "2.0.20-beta-12",
|
|
42
42
|
"@ray-js/ray-ipc-utils": "1.1.0-beta-15",
|
|
43
43
|
"@ray-js/svg": "0.2.0",
|
|
44
44
|
"clsx": "^1.2.1",
|