@ray-js/ipc-player-integration 0.0.30 → 0.0.31-beta.2
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.js +10 -3
- package/lib/ctx/ctx.js +8 -0
- package/lib/ctx/ports.output.d.ts +1 -0
- package/lib/features/initPlayerWidgets/index.d.ts +2 -0
- package/lib/features/initPlayerWidgets/index.js +8 -1
- package/lib/iconfont/iconfont.css +204 -4
- package/lib/iconfont/iconfont.js +6 -6
- package/lib/iconfont/iconfont.json +351 -1
- package/lib/iconfont/iconfont.ttf +0 -0
- package/lib/iconfont/iconfont.woff +0 -0
- package/lib/iconfont/iconfont.woff2 +0 -0
- package/lib/interface.d.ts +1 -0
- package/lib/ui/constant.d.ts +2 -0
- package/lib/ui/constant.js +2 -0
- package/lib/ui/context.d.ts +1 -0
- package/lib/ui/context.js +2 -1
- package/lib/ui/hooks.js +3 -2
- package/lib/ui/ui.d.ts +1 -0
- package/lib/ui/ui.js +38 -16
- package/lib/widgets/index.d.ts +1 -0
- package/lib/widgets/index.js +2 -1
- package/lib/widgets/muted/muted.js +3 -1
- package/lib/widgets/realTimeMagnification/index.d.ts +1 -0
- package/lib/widgets/realTimeMagnification/index.js +1 -0
- package/lib/widgets/realTimeMagnification/realTimeMagnification.d.ts +8 -0
- package/lib/widgets/realTimeMagnification/realTimeMagnification.js +91 -0
- package/lib/widgets/realTimeMagnification/realTimeMagnification.less +20 -0
- package/lib/widgets/videoBitKBP/videoBitKBP.d.ts +1 -0
- package/lib/widgets/videoBitKBP/videoBitKBP.js +38 -11
- package/lib/widgets/videoBitKBP/videoBitKBP.less +41 -16
- package/package.json +1 -1
|
@@ -5,6 +5,356 @@
|
|
|
5
5
|
"css_prefix_text": "icon-panel-",
|
|
6
6
|
"description": "IPC 小程序公版",
|
|
7
7
|
"glyphs": [
|
|
8
|
+
{
|
|
9
|
+
"icon_id": "47215545",
|
|
10
|
+
"name": "nightvision-mode-black-color",
|
|
11
|
+
"font_class": "nightvision-mode-black-color",
|
|
12
|
+
"unicode": "e6a2",
|
|
13
|
+
"unicode_decimal": 59042
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"icon_id": "47215544",
|
|
17
|
+
"name": "nightvision-mode-true-color",
|
|
18
|
+
"font_class": "nightvision-mode-true-color",
|
|
19
|
+
"unicode": "e6a3",
|
|
20
|
+
"unicode_decimal": 59043
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"icon_id": "47215543",
|
|
24
|
+
"name": "nightvision-mode-color",
|
|
25
|
+
"font_class": "nightvision-mode-color",
|
|
26
|
+
"unicode": "e6bc",
|
|
27
|
+
"unicode_decimal": 59068
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"icon_id": "47214631",
|
|
31
|
+
"name": "wi-Fi",
|
|
32
|
+
"font_class": "wi-Fi",
|
|
33
|
+
"unicode": "e6bb",
|
|
34
|
+
"unicode_decimal": 59067
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"icon_id": "47214513",
|
|
38
|
+
"name": "motion-tracking",
|
|
39
|
+
"font_class": "motion-tracking",
|
|
40
|
+
"unicode": "e6ba",
|
|
41
|
+
"unicode_decimal": 59066
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"icon_id": "47214487",
|
|
45
|
+
"name": "optical-zoom",
|
|
46
|
+
"font_class": "optical-zoom",
|
|
47
|
+
"unicode": "e6b8",
|
|
48
|
+
"unicode_decimal": 59064
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"icon_id": "47214486",
|
|
52
|
+
"name": "pip-mode",
|
|
53
|
+
"font_class": "pip-mode",
|
|
54
|
+
"unicode": "e6b9",
|
|
55
|
+
"unicode_decimal": 59065
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"icon_id": "47214463",
|
|
59
|
+
"name": "basic-shimmer",
|
|
60
|
+
"font_class": "basic-shimmer",
|
|
61
|
+
"unicode": "e6b5",
|
|
62
|
+
"unicode_decimal": 59061
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"icon_id": "47214464",
|
|
66
|
+
"name": "basic-nightvision-close",
|
|
67
|
+
"font_class": "basic-nightvision-close",
|
|
68
|
+
"unicode": "e6b6",
|
|
69
|
+
"unicode_decimal": 59062
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"icon_id": "47214462",
|
|
73
|
+
"name": "basic-nightvision-open",
|
|
74
|
+
"font_class": "basic-nightvision-open",
|
|
75
|
+
"unicode": "e6b7",
|
|
76
|
+
"unicode_decimal": 59063
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"icon_id": "47214467",
|
|
80
|
+
"name": "nightvision-mode-ir",
|
|
81
|
+
"font_class": "nightvision-mode-ir",
|
|
82
|
+
"unicode": "e6b3",
|
|
83
|
+
"unicode_decimal": 59059
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"icon_id": "47214466",
|
|
87
|
+
"name": "nightvision-mode-auto",
|
|
88
|
+
"font_class": "nightvision-mode-auto",
|
|
89
|
+
"unicode": "e6b4",
|
|
90
|
+
"unicode_decimal": 59060
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"icon_id": "47188073",
|
|
94
|
+
"name": "锁",
|
|
95
|
+
"font_class": "suo",
|
|
96
|
+
"unicode": "e6b2",
|
|
97
|
+
"unicode_decimal": 59058
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"icon_id": "47188035",
|
|
101
|
+
"name": "警笛",
|
|
102
|
+
"font_class": "jingdi",
|
|
103
|
+
"unicode": "e6b0",
|
|
104
|
+
"unicode_decimal": 59056
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"icon_id": "47188034",
|
|
108
|
+
"name": "灯",
|
|
109
|
+
"font_class": "deng",
|
|
110
|
+
"unicode": "e6b1",
|
|
111
|
+
"unicode_decimal": 59057
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"icon_id": "47187999",
|
|
115
|
+
"name": "下载",
|
|
116
|
+
"font_class": "xiazai",
|
|
117
|
+
"unicode": "e6ae",
|
|
118
|
+
"unicode_decimal": 59054
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"icon_id": "47187998",
|
|
122
|
+
"name": "分享",
|
|
123
|
+
"font_class": "fenxiang",
|
|
124
|
+
"unicode": "e6af",
|
|
125
|
+
"unicode_decimal": 59055
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"icon_id": "47187589",
|
|
129
|
+
"name": "收藏",
|
|
130
|
+
"font_class": "a-zu1032",
|
|
131
|
+
"unicode": "e6ad",
|
|
132
|
+
"unicode_decimal": 59053
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"icon_id": "47187573",
|
|
136
|
+
"name": "记录",
|
|
137
|
+
"font_class": "jilu",
|
|
138
|
+
"unicode": "e6ac",
|
|
139
|
+
"unicode_decimal": 59052
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"icon_id": "47187414",
|
|
143
|
+
"name": "定位(小)",
|
|
144
|
+
"font_class": "a-dingweixiao",
|
|
145
|
+
"unicode": "e6ab",
|
|
146
|
+
"unicode_decimal": 59051
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"icon_id": "47187136",
|
|
150
|
+
"name": "足迹分享",
|
|
151
|
+
"font_class": "zujifenxiang",
|
|
152
|
+
"unicode": "e6aa",
|
|
153
|
+
"unicode_decimal": 59050
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"icon_id": "47186554",
|
|
157
|
+
"name": "足迹",
|
|
158
|
+
"font_class": "zuji",
|
|
159
|
+
"unicode": "e6a7",
|
|
160
|
+
"unicode_decimal": 59047
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"icon_id": "47186548",
|
|
164
|
+
"name": "宠物档案",
|
|
165
|
+
"font_class": "chongwudangan",
|
|
166
|
+
"unicode": "e6a8",
|
|
167
|
+
"unicode_decimal": 59048
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"icon_id": "47186450",
|
|
171
|
+
"name": "遛宠",
|
|
172
|
+
"font_class": "liuchong",
|
|
173
|
+
"unicode": "e6a6",
|
|
174
|
+
"unicode_decimal": 59046
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"icon_id": "47186340",
|
|
178
|
+
"name": "围栏",
|
|
179
|
+
"font_class": "weilan",
|
|
180
|
+
"unicode": "e6a9",
|
|
181
|
+
"unicode_decimal": 59049
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"icon_id": "47131812",
|
|
185
|
+
"name": "WER",
|
|
186
|
+
"font_class": "WER",
|
|
187
|
+
"unicode": "e6a5",
|
|
188
|
+
"unicode_decimal": 59045
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"icon_id": "47131735",
|
|
192
|
+
"name": "infrared-night-vision",
|
|
193
|
+
"font_class": "infrared-night-vision",
|
|
194
|
+
"unicode": "e6a4",
|
|
195
|
+
"unicode_decimal": 59044
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"icon_id": "47131298",
|
|
199
|
+
"name": "night-vision",
|
|
200
|
+
"font_class": "night-vision",
|
|
201
|
+
"unicode": "e6a1",
|
|
202
|
+
"unicode_decimal": 59041
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"icon_id": "47073070",
|
|
206
|
+
"name": "Access-Key-Password",
|
|
207
|
+
"font_class": "Access-Key-Password",
|
|
208
|
+
"unicode": "e643",
|
|
209
|
+
"unicode_decimal": 58947
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"icon_id": "47073029",
|
|
213
|
+
"name": "Access-Mobile",
|
|
214
|
+
"font_class": "Access-Mobile1",
|
|
215
|
+
"unicode": "e638",
|
|
216
|
+
"unicode_decimal": 58936
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"icon_id": "47072934",
|
|
220
|
+
"name": "Access-QuickReply",
|
|
221
|
+
"font_class": "Access-QuickReply",
|
|
222
|
+
"unicode": "e631",
|
|
223
|
+
"unicode_decimal": 58929
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
"icon_id": "47072914",
|
|
227
|
+
"name": "Access-Key-FaceID",
|
|
228
|
+
"font_class": "Access-Key-FaceID2",
|
|
229
|
+
"unicode": "e633",
|
|
230
|
+
"unicode_decimal": 58931
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"icon_id": "47072572",
|
|
234
|
+
"name": "Access-NoBlock",
|
|
235
|
+
"font_class": "Access-NoBlock",
|
|
236
|
+
"unicode": "e632",
|
|
237
|
+
"unicode_decimal": 58930
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"icon_id": "47072558",
|
|
241
|
+
"name": "Access-Password-View",
|
|
242
|
+
"font_class": "Access-Password-View",
|
|
243
|
+
"unicode": "e61d",
|
|
244
|
+
"unicode_decimal": 58909
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"icon_id": "47072205",
|
|
248
|
+
"name": "Access-Door",
|
|
249
|
+
"font_class": "Access-Door",
|
|
250
|
+
"unicode": "e69e",
|
|
251
|
+
"unicode_decimal": 59038
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"icon_id": "47071738",
|
|
255
|
+
"name": "Access-Camera",
|
|
256
|
+
"font_class": "Access-Camera",
|
|
257
|
+
"unicode": "e69a",
|
|
258
|
+
"unicode_decimal": 59034
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
"icon_id": "47071730",
|
|
262
|
+
"name": "Access-Member",
|
|
263
|
+
"font_class": "Access-Member",
|
|
264
|
+
"unicode": "e69c",
|
|
265
|
+
"unicode_decimal": 59036
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"icon_id": "47071754",
|
|
269
|
+
"name": "Access-Password-Hide",
|
|
270
|
+
"font_class": "Access-Password-Hide",
|
|
271
|
+
"unicode": "e619",
|
|
272
|
+
"unicode_decimal": 58905
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"icon_id": "47071752",
|
|
276
|
+
"name": "Access-AI Guardian",
|
|
277
|
+
"font_class": "a-Access-AIGuardian",
|
|
278
|
+
"unicode": "e61b",
|
|
279
|
+
"unicode_decimal": 58907
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"icon_id": "47071749",
|
|
283
|
+
"name": "Access-Key-Fingerprint",
|
|
284
|
+
"font_class": "Access-Key-Fingerprint",
|
|
285
|
+
"unicode": "e622",
|
|
286
|
+
"unicode_decimal": 58914
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"icon_id": "47071747",
|
|
290
|
+
"name": "Access-Send",
|
|
291
|
+
"font_class": "Access-Send",
|
|
292
|
+
"unicode": "e634",
|
|
293
|
+
"unicode_decimal": 58932
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"icon_id": "47071744",
|
|
297
|
+
"name": "Access-Password-Clear",
|
|
298
|
+
"font_class": "Access-Password-Clear",
|
|
299
|
+
"unicode": "e63d",
|
|
300
|
+
"unicode_decimal": 58941
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"icon_id": "47071743",
|
|
304
|
+
"name": "Access-Notification-large",
|
|
305
|
+
"font_class": "Access-Notification-large",
|
|
306
|
+
"unicode": "e63e",
|
|
307
|
+
"unicode_decimal": 58942
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"icon_id": "47071742",
|
|
311
|
+
"name": "Access-Intercom-large",
|
|
312
|
+
"font_class": "Access-Intercom-large",
|
|
313
|
+
"unicode": "e63f",
|
|
314
|
+
"unicode_decimal": 58943
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"icon_id": "47071737",
|
|
318
|
+
"name": "Access-Brightness",
|
|
319
|
+
"font_class": "Access-Brightness",
|
|
320
|
+
"unicode": "e640",
|
|
321
|
+
"unicode_decimal": 58944
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"icon_id": "47071741",
|
|
325
|
+
"name": "Access-TempAccess-large",
|
|
326
|
+
"font_class": "Access-TempAccess-large",
|
|
327
|
+
"unicode": "e641",
|
|
328
|
+
"unicode_decimal": 58945
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"icon_id": "47071740",
|
|
332
|
+
"name": "Access-Undo",
|
|
333
|
+
"font_class": "Access-Undo",
|
|
334
|
+
"unicode": "e699",
|
|
335
|
+
"unicode_decimal": 59033
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"icon_id": "47071756",
|
|
339
|
+
"name": "Access-Key-Card",
|
|
340
|
+
"font_class": "Access-Key-Card",
|
|
341
|
+
"unicode": "e615",
|
|
342
|
+
"unicode_decimal": 58901
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
"icon_id": "47071755",
|
|
346
|
+
"name": "Access-Replay",
|
|
347
|
+
"font_class": "Access-Replay",
|
|
348
|
+
"unicode": "e616",
|
|
349
|
+
"unicode_decimal": 58902
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"icon_id": "47034105",
|
|
353
|
+
"name": "Access-Copy",
|
|
354
|
+
"font_class": "Access-Copy",
|
|
355
|
+
"unicode": "e613",
|
|
356
|
+
"unicode_decimal": 58899
|
|
357
|
+
},
|
|
8
358
|
{
|
|
9
359
|
"icon_id": "46981006",
|
|
10
360
|
"name": "tip-right-arrow",
|
|
@@ -43,7 +393,7 @@
|
|
|
43
393
|
{
|
|
44
394
|
"icon_id": "46763588",
|
|
45
395
|
"name": "door-close-small",
|
|
46
|
-
"font_class": "door-close-small",
|
|
396
|
+
"font_class": "Access-door-close-small",
|
|
47
397
|
"unicode": "e6671",
|
|
48
398
|
"unicode_decimal": 943729
|
|
49
399
|
},
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/interface.d.ts
CHANGED
|
@@ -61,6 +61,7 @@ export type UseCtx = (options: {
|
|
|
61
61
|
intercom: RetAtom<boolean>;
|
|
62
62
|
intercomMode: RetAtom<IntercomMode>;
|
|
63
63
|
intercomSupported: RetAtom<boolean>;
|
|
64
|
+
maxZoomSettings: RetAtom<number>;
|
|
64
65
|
resolution: RetAtom<string>;
|
|
65
66
|
resolutionList: RetAtom<string[]>;
|
|
66
67
|
playState: RetAtom<PlayState>;
|
package/lib/ui/constant.d.ts
CHANGED
|
@@ -39,6 +39,8 @@ export declare const widgetLabs: {
|
|
|
39
39
|
readonly FULL_SCREEN: "FullScreen";
|
|
40
40
|
readonly VERTICAL_SCREEN: "VerticalScreen";
|
|
41
41
|
};
|
|
42
|
+
export declare const zoomLevelChange = "zoomLevelChange";
|
|
43
|
+
export declare const setScaleMultipleEvent = "setScaleMultipleEvent";
|
|
42
44
|
export declare const decodeClarityDic: {
|
|
43
45
|
SS: string;
|
|
44
46
|
SD: string;
|
package/lib/ui/constant.js
CHANGED
|
@@ -40,6 +40,8 @@ export const widgetLabs = {
|
|
|
40
40
|
FULL_SCREEN: 'FullScreen',
|
|
41
41
|
VERTICAL_SCREEN: 'VerticalScreen'
|
|
42
42
|
};
|
|
43
|
+
export const zoomLevelChange = 'zoomLevelChange';
|
|
44
|
+
export const setScaleMultipleEvent = 'setScaleMultipleEvent';
|
|
43
45
|
export const decodeClarityDic = {
|
|
44
46
|
SS: 'ss',
|
|
45
47
|
// 省流量
|
package/lib/ui/context.d.ts
CHANGED
package/lib/ui/context.js
CHANGED
package/lib/ui/hooks.js
CHANGED
|
@@ -2,7 +2,8 @@ import { useContext } from 'react';
|
|
|
2
2
|
import { UIEventContext } from './context';
|
|
3
3
|
export const useComponentHideState = () => {
|
|
4
4
|
const {
|
|
5
|
-
componentHideState
|
|
5
|
+
componentHideState,
|
|
6
|
+
refreshElement
|
|
6
7
|
} = useContext(UIEventContext);
|
|
7
|
-
return [componentHideState];
|
|
8
|
+
return [componentHideState || refreshElement];
|
|
8
9
|
};
|
package/lib/ui/ui.d.ts
CHANGED
package/lib/ui/ui.js
CHANGED
|
@@ -11,7 +11,7 @@ import { PlayState, PlayerStreamStatus, MultiCameraScreenMode } from '../interfa
|
|
|
11
11
|
import { useCtx } from '../ctx/ctx.composition';
|
|
12
12
|
import { useStore, updateAtom } from '../ctx/store';
|
|
13
13
|
import { UIEventContext } from './context';
|
|
14
|
-
import { showAllComponent, hideAllComponent, playerTap, startTimeToHideAllComponent, pauseTimeToHideAllComponent, decodeClarityDic, changeIgnoreHideStopPreview, moveablePtzControlId, tileActionsId, tileTipId, landscapeTipId, multiPtzId, ptzMoveableTipId, showFlowLowTipId } from './constant';
|
|
14
|
+
import { showAllComponent, hideAllComponent, playerTap, startTimeToHideAllComponent, pauseTimeToHideAllComponent, decodeClarityDic, changeIgnoreHideStopPreview, moveablePtzControlId, tileActionsId, tileTipId, landscapeTipId, multiPtzId, ptzMoveableTipId, showFlowLowTipId, zoomLevelChange, setScaleMultipleEvent } from './constant';
|
|
15
15
|
import BottomLeftContent from './bottomLeftContent';
|
|
16
16
|
import BottomRightContent from './bottomRightContent';
|
|
17
17
|
import TopLeftContent from './topLeftContent';
|
|
@@ -66,7 +66,8 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
66
66
|
defaultAutoPlay = true,
|
|
67
67
|
limitFlow = false,
|
|
68
68
|
showFlowLowTip = false,
|
|
69
|
-
extend = {}
|
|
69
|
+
extend = {},
|
|
70
|
+
refreshElement = false
|
|
70
71
|
} = props;
|
|
71
72
|
const {
|
|
72
73
|
event
|
|
@@ -410,7 +411,7 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
410
411
|
eventRef.current.emit('disablePlayerTap', false);
|
|
411
412
|
showComponents();
|
|
412
413
|
}
|
|
413
|
-
}, [isVerticalFullLayout, screenType, playerFit
|
|
414
|
+
}, [isVerticalFullLayout, screenType, playerFit]);
|
|
414
415
|
useEffect(() => {
|
|
415
416
|
if (createCtx) {
|
|
416
417
|
setScaleMultiple(playerFit === 'contain' ? 1 : -2);
|
|
@@ -659,6 +660,8 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
659
660
|
instance.changeStreamStatus(code);
|
|
660
661
|
});
|
|
661
662
|
const disablePlayerTap = useRef(false);
|
|
663
|
+
// 标记正在执行隐藏,防止 playerTap 子组件监听触发 showAllComponent 干扰隐藏
|
|
664
|
+
const isHidingByTapRef = useRef(false);
|
|
662
665
|
const hasInitializedLandscapeMultiRef = useRef(false);
|
|
663
666
|
const multiTapTimerRef = useRef(null);
|
|
664
667
|
const prevSelectedIndexRef = useRef(selectedLenInfo.index);
|
|
@@ -693,14 +696,15 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
693
696
|
eventRef.current.emit(type);
|
|
694
697
|
};
|
|
695
698
|
const listenStart = useMemoizedFn(() => {
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
// @ts-ignore
|
|
700
|
-
timer.current = setTimeout(() => {
|
|
701
|
-
triggerEvent(hideAllComponent);
|
|
702
|
-
}, HIDE_COMPONENT_TIME);
|
|
699
|
+
if (timer.current) {
|
|
700
|
+
clearTimeout(timer.current);
|
|
701
|
+
timer.current = null;
|
|
703
702
|
}
|
|
703
|
+
// 重新开始计时
|
|
704
|
+
// @ts-ignore
|
|
705
|
+
timer.current = setTimeout(() => {
|
|
706
|
+
triggerEvent(hideAllComponent);
|
|
707
|
+
}, HIDE_COMPONENT_TIME);
|
|
704
708
|
});
|
|
705
709
|
const listenPause = useMemoizedFn(() => {
|
|
706
710
|
timer.current && clearTimeout(timer.current);
|
|
@@ -710,11 +714,15 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
710
714
|
setComponentHideState(true);
|
|
711
715
|
});
|
|
712
716
|
const listenShowEvent = useMemoizedFn(() => {
|
|
717
|
+
if (isHidingByTapRef.current) return;
|
|
713
718
|
setComponentHideState(false);
|
|
714
719
|
});
|
|
715
720
|
const onChangeIgnoreHideStopPreview = state => {
|
|
716
721
|
setIgnoreStopOnHide(state);
|
|
717
722
|
};
|
|
723
|
+
const onSetScaleMultiple = value => {
|
|
724
|
+
setScaleMultiple(value);
|
|
725
|
+
};
|
|
718
726
|
useEffect(() => {
|
|
719
727
|
eventRef.current.on(startTimeToHideAllComponent, listenStart);
|
|
720
728
|
eventRef.current.on(pauseTimeToHideAllComponent, listenPause);
|
|
@@ -723,6 +731,7 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
723
731
|
eventRef.current.on('disablePlayerTap', handDisablePlayerTap);
|
|
724
732
|
eventRef.current.on('refreshBottomLeft', refreshBottomLeft);
|
|
725
733
|
eventRef.current.on(changeIgnoreHideStopPreview, onChangeIgnoreHideStopPreview);
|
|
734
|
+
eventRef.current.on(setScaleMultipleEvent, onSetScaleMultiple);
|
|
726
735
|
return () => {
|
|
727
736
|
eventRef.current.off(startTimeToHideAllComponent, listenStart);
|
|
728
737
|
eventRef.current.off(pauseTimeToHideAllComponent, listenPause);
|
|
@@ -731,6 +740,7 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
731
740
|
eventRef.current.off('disablePlayerTap', handDisablePlayerTap);
|
|
732
741
|
eventRef.current.off('refreshBottomLeft', refreshBottomLeft);
|
|
733
742
|
eventRef.current.off(changeIgnoreHideStopPreview, onChangeIgnoreHideStopPreview);
|
|
743
|
+
eventRef.current.off(setScaleMultipleEvent, onSetScaleMultiple);
|
|
734
744
|
if (multiTapTimerRef.current) {
|
|
735
745
|
clearTimeout(multiTapTimerRef.current);
|
|
736
746
|
multiTapTimerRef.current = null;
|
|
@@ -788,6 +798,7 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
788
798
|
setScaleMultiple(zoomLevel);
|
|
789
799
|
}
|
|
790
800
|
setCurrentZoomLevel(zoomLevel);
|
|
801
|
+
instance.event.emit(zoomLevelChange, zoomLevel);
|
|
791
802
|
return false;
|
|
792
803
|
});
|
|
793
804
|
const playerContainerHeight = screenType === 'vertical' ? (style === null || style === void 0 ? void 0 : style.height) || '100%' : '100vh';
|
|
@@ -795,7 +806,8 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
795
806
|
return /*#__PURE__*/React.createElement(UIEventContext.Provider, {
|
|
796
807
|
value: {
|
|
797
808
|
event: eventRef.current,
|
|
798
|
-
componentHideState
|
|
809
|
+
componentHideState,
|
|
810
|
+
refreshElement
|
|
799
811
|
}
|
|
800
812
|
}, /*#__PURE__*/React.createElement(View, {
|
|
801
813
|
className: clsx('ipc-player-content', isSmallScreen && 'ipc-player-content-small-screen', className),
|
|
@@ -846,13 +858,12 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
846
858
|
,
|
|
847
859
|
privateState: privateState,
|
|
848
860
|
onPlayerTap: data => {
|
|
861
|
+
console.log('sdhsajdhsahdsa=========');
|
|
849
862
|
if (disablePlayerTap.current) {
|
|
850
863
|
console.log('playerTap 事件已禁止');
|
|
851
864
|
return;
|
|
852
865
|
}
|
|
853
866
|
console.log('res===on onVideoTap', data);
|
|
854
|
-
eventRef.current.emit(playerTap);
|
|
855
|
-
console.log(prevTriggerEvent.current, 'prevTriggerEvent.current');
|
|
856
867
|
if (instance.multiCameraCtx.isSupport) {
|
|
857
868
|
var _instance$multiCamera, _instance$multiCamera2;
|
|
858
869
|
const preTapIndex = (_instance$multiCamera = (_instance$multiCamera2 = instance.multiCameraCtx.selectedLenInfoRef.current) === null || _instance$multiCamera2 === void 0 ? void 0 : _instance$multiCamera2.index) !== null && _instance$multiCamera !== void 0 ? _instance$multiCamera : prevSelectedIndexRef.current;
|
|
@@ -881,10 +892,21 @@ export const IPCPlayerIntegration = /*#__PURE__*/React.memo(props => {
|
|
|
881
892
|
prevSelectedIndexRef.current = currentIndex;
|
|
882
893
|
multiTapTimerRef.current = null;
|
|
883
894
|
}, 50);
|
|
884
|
-
} else if (
|
|
885
|
-
|
|
895
|
+
} else if (componentHideState) {
|
|
896
|
+
// 当前隐藏 → 显示(带自动隐藏计时器)
|
|
897
|
+
showComponents();
|
|
898
|
+
eventRef.current.emit(playerTap);
|
|
886
899
|
} else {
|
|
887
|
-
|
|
900
|
+
// 当前显示 → 隐藏
|
|
901
|
+
if (timer.current) {
|
|
902
|
+
clearTimeout(timer.current);
|
|
903
|
+
timer.current = null;
|
|
904
|
+
}
|
|
905
|
+
setComponentHideState(true);
|
|
906
|
+
// 标记正在隐藏,防止 emit(playerTap) 触发子组件 emit(showAllComponent) 导致隐藏被覆盖
|
|
907
|
+
isHidingByTapRef.current = true;
|
|
908
|
+
eventRef.current.emit(playerTap);
|
|
909
|
+
isHidingByTapRef.current = false;
|
|
888
910
|
}
|
|
889
911
|
onPlayerTap && onPlayerTap(data);
|
|
890
912
|
return false; // eslint-disable-line
|
package/lib/widgets/index.d.ts
CHANGED
package/lib/widgets/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import React, { useContext } from 'react';
|
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import { useStore } from '../../ctx/store';
|
|
5
5
|
import { UIEventContext } from '../../ui/context';
|
|
6
|
-
import { widgetLabs, widgetClick } from '../../ui/constant';
|
|
6
|
+
import { widgetLabs, widgetClick, pauseTimeToHideAllComponent, startTimeToHideAllComponent } from '../../ui/constant';
|
|
7
7
|
import './muted.less';
|
|
8
8
|
export const Muted = props => {
|
|
9
9
|
const {
|
|
@@ -27,7 +27,9 @@ export const Muted = props => {
|
|
|
27
27
|
event.emit(widgetClick, {
|
|
28
28
|
widgetId: widgetLabs.MUTED
|
|
29
29
|
});
|
|
30
|
+
event.emit(pauseTimeToHideAllComponent);
|
|
30
31
|
setMute(!isMuted);
|
|
32
|
+
event.emit(startTimeToHideAllComponent);
|
|
31
33
|
}
|
|
32
34
|
}, isMuted ? /*#__PURE__*/React.createElement(Text, {
|
|
33
35
|
className: "ipc-player-plugin-muted-text-icon icon-panel icon-panel-mute-off"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './realTimeMagnification';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './realTimeMagnification';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ComponentConfigProps } from '../../interface';
|
|
3
|
+
import './realTimeMagnification.less';
|
|
4
|
+
type Props = ComponentConfigProps & {
|
|
5
|
+
className?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const RealTimeMagnification: (props: Props) => React.JSX.Element | null;
|
|
8
|
+
export {};
|