@ray-js/ray-ipc-player 2.0.21 → 2.0.23
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/index.js +15 -5
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { useImmer } from 'use-immer';
|
|
|
7
7
|
import _isEmpty from 'lodash/isEmpty';
|
|
8
8
|
import { IpcPlayer, View, CoverView } from '@ray-js/components';
|
|
9
9
|
import { useMount, useUnmount, useMemoizedFn } from 'ahooks';
|
|
10
|
-
import { setPageOrientation, usePageEvent, getNetworkType, offNetworkStatusChange, onNetworkStatusChange, publishDps, showToast, getSystemInfoSync, onMqttMessageReceived, registerMQTTProtocolListener, offMqttMessageReceived, unregisterMQTTProtocolListener, registerDeviceListListener, onDpDataChange, onDeviceOnlineStatusUpdate } from '@ray-js/ray';
|
|
10
|
+
import { setPageOrientation, usePageEvent, getNetworkType, offNetworkStatusChange, onNetworkStatusChange, publishDps, showToast, getSystemInfoSync, onMqttMessageReceived, registerMQTTProtocolListener, offMqttMessageReceived, unregisterMQTTProtocolListener, registerDeviceListListener, onDpDataChange, onDeviceOnlineStatusUpdate, performanceEvent } from '@ray-js/ray';
|
|
11
11
|
import clsx from 'clsx';
|
|
12
12
|
import Strings from './i18n';
|
|
13
13
|
import Styles from './index.module.less';
|
|
@@ -77,6 +77,7 @@ const Player = props => {
|
|
|
77
77
|
// 设备在线状态
|
|
78
78
|
initLy: false
|
|
79
79
|
});
|
|
80
|
+
const [isVirtualDevice] = useState(devId.startsWith('vdevo'));
|
|
80
81
|
const [screenType, setScreenType] = useState('portrait');
|
|
81
82
|
const [videoErrCode, setVideoErrCode] = useState('');
|
|
82
83
|
// 是否启用下发唤醒指令定时
|
|
@@ -93,6 +94,7 @@ const Player = props => {
|
|
|
93
94
|
const privateDeviceWakeNeedPublishTimeRef = useRef(null);
|
|
94
95
|
// connectChangeRef
|
|
95
96
|
useRef(null);
|
|
97
|
+
const firstPreviewTimeRef = useRef(false);
|
|
96
98
|
const [isLowPowerDevice] = useState(awakeStatus !== undefined);
|
|
97
99
|
|
|
98
100
|
// 自定义计时老低功耗方案设备在线状态, 用于短暂时间报上下线的UI展示兼容 待实现
|
|
@@ -325,6 +327,7 @@ const Player = props => {
|
|
|
325
327
|
ipcTTTOperatorLog("VID: privateState_status_change: ".concat(privateState));
|
|
326
328
|
retry();
|
|
327
329
|
} else if (playState.initLy && privateState) {
|
|
330
|
+
stopPreview();
|
|
328
331
|
// 如果隐私模式为true, 主动推一波流变化的状态码,适配ios不触发connectChange的情况
|
|
329
332
|
onChangeStreamStatus && onChangeStreamStatus(-1001);
|
|
330
333
|
}
|
|
@@ -456,10 +459,10 @@ const Player = props => {
|
|
|
456
459
|
d.errorState = false;
|
|
457
460
|
d.errorMsg = '';
|
|
458
461
|
});
|
|
459
|
-
phoneNetworkConnect && onlineStatus && privateState && !isLowPowerDevice && handleReWakeCamera();
|
|
462
|
+
phoneNetworkConnect && onlineStatus && privateState && (!isLowPowerDevice || isVirtualDevice) && handleReWakeCamera();
|
|
460
463
|
|
|
461
464
|
// 低功耗设备隐私模式需单独处理,先进行下发唤醒, 唤醒后再进行下发DP
|
|
462
|
-
phoneNetworkConnect && onlineStatus && privateState && isLowPowerDevice && handleReWakeCameraLowPowerDevice();
|
|
465
|
+
phoneNetworkConnect && onlineStatus && privateState && isLowPowerDevice && !isVirtualDevice && handleReWakeCameraLowPowerDevice();
|
|
463
466
|
phoneNetworkConnect && onlineStatus && !privateState && _retry();
|
|
464
467
|
}, [isLowPowerDevice, phoneNetworkConnect && playState.connectState, privateState, onlineStatus]);
|
|
465
468
|
|
|
@@ -528,6 +531,15 @@ const Player = props => {
|
|
|
528
531
|
(_ipcCtx$current2 = ipcCtx.current) === null || _ipcCtx$current2 === void 0 || _ipcCtx$current2.startPreview({
|
|
529
532
|
success: () => {
|
|
530
533
|
ipcTTTOperatorLog('VID: start_preview_success');
|
|
534
|
+
if (typeof performanceEvent === 'function' && !firstPreviewTimeRef.current) {
|
|
535
|
+
performanceEvent({
|
|
536
|
+
launchData: '出流成功耗时',
|
|
537
|
+
success: () => {
|
|
538
|
+
firstPreviewTimeRef.current = true;
|
|
539
|
+
}
|
|
540
|
+
});
|
|
541
|
+
}
|
|
542
|
+
|
|
531
543
|
// console.log('开启预览:', devId);
|
|
532
544
|
setPlayState(d => {
|
|
533
545
|
d.loadingState = false;
|
|
@@ -806,8 +818,6 @@ const Player = props => {
|
|
|
806
818
|
return errContent.suggestedText;
|
|
807
819
|
// 是否展示点我重试
|
|
808
820
|
case 'retry':
|
|
809
|
-
console.log(privateState, 'privateState========');
|
|
810
|
-
console.log(privateState, 'privateState========');
|
|
811
821
|
if (!phoneNetworkConnect) {
|
|
812
822
|
return false;
|
|
813
823
|
}
|