larksr_websdk 3.2.4 → 3.2.8

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 (62) hide show
  1. package/README.md +35 -24
  2. package/dist/doc/index.md +43 -3
  3. package/dist/larksr-web-sdk.min.js +2 -2
  4. package/dist/types/api.d.ts +23 -0
  5. package/dist/types/appli_params.d.ts +21 -2
  6. package/dist/types/index.d.ts +2 -1
  7. package/dist/types/larksr.d.ts +83 -7
  8. package/dist/types/screen_state.d.ts +6 -1
  9. package/package.json +9 -6
  10. package/types/api.d.ts +108 -0
  11. package/types/appli_params.d.ts +263 -0
  12. package/{dist/types → types}/common/cmd.d.ts +0 -0
  13. package/{dist/types → types}/common/constant.d.ts +0 -0
  14. package/{dist/types → types}/common/interface.d.ts +0 -0
  15. package/types/config.d.ts +59 -0
  16. package/{dist/types → types}/event/bus.d.ts +0 -0
  17. package/{dist/types → types}/event/event_base.d.ts +0 -0
  18. package/{dist/types → types}/event/events.d.ts +0 -0
  19. package/{dist/types → types}/event/iframe_poster.d.ts +0 -0
  20. package/{dist/types → types}/event/message.d.ts +0 -0
  21. package/types/index.d.ts +25 -0
  22. package/{dist/types → types}/lark/Worker.d.ts +0 -0
  23. package/{dist/types → types}/lark/application.d.ts +10 -2
  24. package/{dist/types → types}/lark/custom.d.ts +0 -0
  25. package/{dist/types → types}/lark/lark_event_type.d.ts +0 -0
  26. package/{dist/types → types}/lark/message.d.ts +5 -4
  27. package/{dist/types → types}/lark/peer_connection.d.ts +0 -0
  28. package/{dist/types → types}/lark/sdp_util.d.ts +0 -0
  29. package/types/lark/test_pixel_streaming.d.ts +54 -0
  30. package/{dist/types → types}/lark/websocket_channel.d.ts +0 -0
  31. package/{dist/types → types}/lark/websocket_proxy.d.ts +0 -0
  32. package/types/larksr.d.ts +534 -0
  33. package/{dist/types → types}/localization/base.d.ts +0 -0
  34. package/{dist/types → types}/localization/gesture_ins.d.ts +0 -0
  35. package/{dist/types → types}/localization/language.d.ts +0 -0
  36. package/{dist/types → types}/localization/loader.d.ts +0 -0
  37. package/{dist/types → types}/localization/message.d.ts +0 -0
  38. package/{dist/types → types}/localization/ui.d.ts +0 -0
  39. package/{dist/types → types}/operation/gamepad_handler.d.ts +0 -0
  40. package/{dist/types → types}/operation/gesture.d.ts +0 -0
  41. package/{dist/types → types}/operation/gesture_handler.d.ts +0 -0
  42. package/{dist/types → types}/operation/handler_base.d.ts +0 -0
  43. package/{dist/types → types}/operation/keyboard_handler.d.ts +0 -0
  44. package/{dist/types → types}/operation/keymap.d.ts +0 -0
  45. package/{dist/types → types}/operation/letter_keymap.d.ts +0 -0
  46. package/{dist/types → types}/operation/mouse_handler.d.ts +0 -0
  47. package/{dist/types → types}/operation/num_keymap.d.ts +0 -0
  48. package/{dist/types → types}/operation/operation.d.ts +3 -1
  49. package/types/operation/pixel_streaming_input.d.ts +82 -0
  50. package/{dist/types → types}/operation/touch_handler.d.ts +0 -0
  51. package/{dist/types → types}/operation/utils.d.ts +0 -0
  52. package/{dist/types → types}/protobuf/cloudlark.d.ts +6466 -5944
  53. package/{dist/types → types}/protobuf/message.d.ts +0 -0
  54. package/types/screen_state.d.ts +113 -0
  55. package/types/sdk_auth.d.ts +11 -0
  56. package/{dist/types → types}/utils/browser_type.d.ts +0 -0
  57. package/{dist/types → types}/utils/capabilities.d.ts +0 -0
  58. package/{dist/types → types}/utils/full_screen.d.ts +0 -0
  59. package/{dist/types → types}/utils/lock_pointer.d.ts +0 -0
  60. package/{dist/types → types}/utils/log.d.ts +1 -1
  61. package/{dist/types → types}/utils/scale_mode.d.ts +0 -0
  62. package/{dist/types → types}/utils/unit.d.ts +1 -0
@@ -0,0 +1,534 @@
1
+ /**
2
+ * fcx@pingxingyun.com
3
+ * www.pingxingyun.com
4
+ */
5
+ import { EventBase, LocalEvent } from './event/event_base';
6
+ import Application, { APP_STATE } from './lark/application';
7
+ import { AppliParams, AppliParamsUtils, IAppliParams, LoadAppliParamsFromUrl, LoadAppliParamsStartAppInfo } from './appli_params';
8
+ import { LarkEventType } from './lark/lark_event_type';
9
+ import API from './api';
10
+ import ScreenState from './screen_state';
11
+ import Operation from './operation/operation';
12
+ import { CloudLark } from './protobuf/cloudlark';
13
+ import { KEYMAP, VirtualKey } from './operation/keymap';
14
+ import FullScreen from './utils/full_screen';
15
+ import LockPointer from './utils/lock_pointer';
16
+ import ScaleMode from './utils/scale_mode';
17
+ import Capabilities from './utils/capabilities';
18
+ declare const enum PlayerModeType {
19
+ /**
20
+ * 普通模式
21
+ */
22
+ Normal = 0,
23
+ /**
24
+ * 交互模式(可以一人操作多人看)
25
+ */
26
+ Interactive = 1,
27
+ /**
28
+ * 多人互动模式 (多人可操作)
29
+ */
30
+ MutiPlayer = 2
31
+ }
32
+ /**
33
+ * 当前用户的身份
34
+ */
35
+ declare const enum UserType {
36
+ /**
37
+ * 观看者
38
+ */
39
+ Observer = 0,
40
+ /**
41
+ * 操作者
42
+ */
43
+ Player = 1
44
+ }
45
+ /**
46
+ * LarkSR 实例会发出的事件
47
+ */
48
+ declare enum LarkSRClientEvent {
49
+ /**
50
+ * 连接渲染服务器成功 .
51
+ */
52
+ CONNECT = "connect",
53
+ /**
54
+ * 登录成功时触发,会返回当前用户id .
55
+ */
56
+ LOGIN_SUCCESS = "loginsuccess",
57
+ /**
58
+ * 无操作超时时触发 .
59
+ */
60
+ NO_OPERATION_TIMEOUT = "operatetimeout",
61
+ /**
62
+ * 连接关闭.
63
+ */
64
+ CLOSE = "close",
65
+ /**
66
+ * 云端应用关闭,但连接未关闭
67
+ */
68
+ APP_CLOSE = "appclose",
69
+ /**
70
+ * 获取到远端视频流 .
71
+ */
72
+ GOT_REMOTE_STREAM = "gotremotesteam",
73
+ /**
74
+ * 视频加载成功,等待播放 .
75
+ */
76
+ MEDIA_LOADED = "meidaloaded",
77
+ /**
78
+ * 视频自动播放成功 .
79
+ */
80
+ MEDIA_PLAY_SUCCESS = "mediaplaysuccess",
81
+ /**
82
+ * 视频自动播放失败 .
83
+ */
84
+ MEDIA_PLAY_FAILED = "mediaplayfailed",
85
+ /**
86
+ * 自动播放声音失败,以静音模式播放 .
87
+ */
88
+ MEDIA_PLAY_MUTE = "meidaplaymute",
89
+ /**
90
+ * 云渲染连接状态改变 .
91
+ */
92
+ APPSTATE_CHANGE = "appstatechange",
93
+ /**
94
+ * 云端应用大小变化 .
95
+ */
96
+ APP_RESIZE = "appresize",
97
+ /**
98
+ * 云端应用鼠标模式变化时触发 .
99
+ */
100
+ APP_MOUSE_MODE = "appmousemode",
101
+ /**
102
+ * 云端应用鼠标状态变化 .
103
+ */
104
+ APP_CURSOR_MODE = "appcursormode",
105
+ /**
106
+ * 玩家列表 .
107
+ */
108
+ PLAYER_LIST = "playerlist",
109
+ /**
110
+ * 视频连接状态
111
+ */
112
+ PEERSTATUS_REPORT = "peerstatusreport",
113
+ /**
114
+ * 云端应用请求输入文字 .
115
+ */
116
+ APP_REQUEST_INPUT = "apprequestinput",
117
+ /**
118
+ * 云端应用请求手柄震动
119
+ */
120
+ APP_REQUEST_GAMEPAD_OUPUT = "apprequestgamepadoutput",
121
+ /**
122
+ * 截图成功.
123
+ */
124
+ CAPTURE_FRAME = "captureframe",
125
+ /**
126
+ * 数据通道打开 .
127
+ */
128
+ DATACHANNEL_OPEN = "datachannelopen",
129
+ /**
130
+ * 数据通道关闭 .
131
+ */
132
+ DATACHANNEL_CLOSE = "datachannelclose",
133
+ /**
134
+ * 数据通达收到文字消息 .
135
+ */
136
+ DATACHANNEL_TEXT = "datachanneltext",
137
+ /**
138
+ * 数据通道收到字节消息 .
139
+ */
140
+ DATACHANNEL_BINARY = "datachannelbinary",
141
+ /**
142
+ * 更详细的事件状态,主要用于向iframe外部抛出 .
143
+ */
144
+ LarkEvent = "larkevent",
145
+ /**
146
+ * 发生错误时抛出
147
+ */
148
+ ERROR = "error",
149
+ /**
150
+ * 一般信息提示
151
+ */
152
+ INFO = "info"
153
+ }
154
+ /**
155
+ * LarkSR 发出的事件
156
+ */
157
+ interface LarkSREvent extends LocalEvent<LarkSRClientEvent> {
158
+ data?: any;
159
+ message?: string;
160
+ code?: number;
161
+ larkevent?: LarkEventType;
162
+ }
163
+ /**
164
+ * 构造 LarkSR 参数
165
+ */
166
+ interface ILarkSRConfig {
167
+ /**
168
+ * 必选项 根元素。组件会挂载到跟元素下面
169
+ * 注意*不要*设置为 document.documentElement
170
+ * 默认模式下会通过旋转根元素实现强制横屏模式。
171
+ * @see handelRootElementSize
172
+ * @see scaleMode
173
+ */
174
+ rootElement: HTMLElement;
175
+ /**
176
+ * 可选项 服务器地址. LarkServer 前台访问的地址
177
+ * 如: http://192.168.0.55:8181/
178
+ * 当使用托管服务时服务器地址自动分配,可留空。
179
+ * 使用托管服务时@see CreateLarkSRClientFromePXYHost @see larksr.connectWithPxyHost
180
+ */
181
+ serverAddress?: string;
182
+ /**
183
+ * 可选项。 sdk 授权码。如果不在此处填,则必须在后续的实例里调用 initSDKAuthCode 初始化。
184
+ */
185
+ authCode?: string;
186
+ /**
187
+ * 可选项,授权是否成功
188
+ */
189
+ authCodeCallback?: (isSuccess: boolean, e: any) => void;
190
+ /**
191
+ * 可选项,载入时的背景图片 url
192
+ */
193
+ loadingBgUrl?: string;
194
+ /**
195
+ * 可选项,是否同步传入根的组件的大小样式。
196
+ * 默认开启,将跟组件大小设置为浏览器视口大小
197
+ * 如果关闭,内部组件将按照传入的根元素大小去显示
198
+ * 注意,当关闭时不会自动填充根元素,如果根元素高度为 0 将显示不出来。
199
+ * 注意,当关闭时 mobileForceLandscape 将失去作用。
200
+ */
201
+ handelRootElementSize?: boolean;
202
+ /**
203
+ * 是否在sdk内部监听鼠标键盘等输入事件
204
+ * 如果关闭需要手动发送输入事件
205
+ * 注意关闭时全屏模式和锁定模式将失效,需要在sdk外部触发
206
+ * @see fullScreenMode
207
+ */
208
+ handlInput?: boolean;
209
+ /**
210
+ * 当视频播自动放失败时是否尝试静音播放,静音播放时将抛出事件
211
+ * 静音播放当用户操作屏幕时将尝试播放声音
212
+ */
213
+ mutePlayWhenFiled?: boolean;
214
+ /**
215
+ * 可选项,是否是 vr 监控类型。
216
+ */
217
+ isMonitor?: boolean;
218
+ /**
219
+ * 可选项,码率
220
+ */
221
+ codeRate?: number;
222
+ /**
223
+ * 可选项,帧率
224
+ */
225
+ frameRate?: number;
226
+ /**
227
+ * 可选项,音频帧率
228
+ */
229
+ audioCodeRate?: number;
230
+ /**
231
+ * 可选项,日志级别。默认为 warn
232
+ */
233
+ logLevel?: 'info' | 'warn' | 'error';
234
+ /**
235
+ * 可选项,载入超时时间. 默认为 60s。超过该事件停止载入
236
+ */
237
+ loadingTimeout?: number;
238
+ /**
239
+ * 可选项,是否自动同步剪贴板数据
240
+ */
241
+ syncLocalToCloudClipboard?: boolean;
242
+ /**
243
+ * 可选项,优选选择的视频编码格式
244
+ */
245
+ perferDecoder?: 'auto' | 'vp8' | 'vp9' | 'h264' | 'av1x';
246
+ /**
247
+ * 可选项,视频在容器中的缩放模式
248
+ *
249
+ */
250
+ scaleMode?: ScaleMode;
251
+ /**
252
+ * 全屏模式
253
+ * 0 -》 用户手动触发
254
+ * 1 -》 首次点击进入触发
255
+ * 2 -》 每次点击触发
256
+ */
257
+ fullScreenMode?: number;
258
+ /**
259
+ * 可选项,手机端的全屏模式,值同 fullScreenMode
260
+ */
261
+ mobileFullScreenMode?: number;
262
+ /**
263
+ * 可选项,手机端是否强制横屏
264
+ */
265
+ mobileForceLandscape?: boolean;
266
+ /**
267
+ * 初始化鼠标模式, true 锁定,false 非锁定
268
+ */
269
+ initCursorMode?: boolean;
270
+ }
271
+ /**
272
+ * 通过平行云托管平台创建客户端并启动应用
273
+ * @param config 传入 config @see ILarkSRConfig
274
+ * @param params 进入应用接口参数。appliId 为必填项
275
+ * @returns Promise 创建 larksr client 是否成功
276
+ */
277
+ export declare function CreateLarkSRClientFromePXYHost(config: ILarkSRConfig, params: {
278
+ appliId: string;
279
+ playerMode?: number;
280
+ userType?: number;
281
+ roomCode?: string;
282
+ taskId?: string;
283
+ nickname?: string;
284
+ }): Promise<LarkSR>;
285
+ /**
286
+ * 通过调用后台接口获取云端应用参数
287
+ * @param config 传入 config @see ILarkSRConfig
288
+ * @param params 进入应用接口参数。appliId 为必填项
289
+ * @returns Promise 创建 larksr client 是否成功
290
+ */
291
+ export declare function CreateLarkSRClientFromeAPI(config: ILarkSRConfig, params: {
292
+ appliId: string;
293
+ playerMode?: number;
294
+ userType?: number;
295
+ roomCode?: string;
296
+ taskId?: string;
297
+ nickname?: string;
298
+ }): Promise<LarkSR>;
299
+ /**
300
+ * 通过从url参数中获取云端应用相关参数
301
+ * @param config 传入 config @see ILarkSRConfig
302
+ * @returns Promise 创建 larksr client 是否成功
303
+ */
304
+ export declare function CreateLarkSRClientFromeUrl(config: ILarkSRConfig): Promise<LarkSR>;
305
+ declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
306
+ /**
307
+ * 应用参数,构建时传入
308
+ */
309
+ get params(): AppliParams;
310
+ private _params;
311
+ /**
312
+ * 当前的玩家模式,
313
+ */
314
+ get playerModeType(): PlayerModeType;
315
+ /**
316
+ * 用户类型
317
+ * @see UserType
318
+ */
319
+ get userType(): UserType;
320
+ /**
321
+ * 是否是观看者模式
322
+ */
323
+ get isObMode(): boolean;
324
+ /**
325
+ * 当前是否是交互模式,交互默认即可以操作的模式
326
+ */
327
+ get isInteractiveMode(): boolean;
328
+ get isPixelStreaming(): boolean;
329
+ /**
330
+ * 当前 app 的状态
331
+ */
332
+ get appState(): APP_STATE;
333
+ get app(): Application;
334
+ private _app;
335
+ /**
336
+ * 云端画面是否准备好,准备好后才可以发送输入事件
337
+ */
338
+ get remoteScreenReady(): boolean;
339
+ set remoteScreenReady(ready: boolean);
340
+ private _remoteScreenReady;
341
+ /**
342
+ * 当前的屏幕状态
343
+ * @see ScreenState
344
+ */
345
+ get screenState(): ScreenState;
346
+ private _screenState;
347
+ /**
348
+ * 当前的输入控制
349
+ * @see Operation
350
+ */
351
+ get op(): Operation;
352
+ private _op;
353
+ /**
354
+ * 像素流送输入控制
355
+ */
356
+ private pixelInput;
357
+ private iframeHandler;
358
+ get fullScreen(): FullScreen;
359
+ private _fullScreen;
360
+ get lockPointer(): LockPointer;
361
+ private _lockPointer;
362
+ private _view;
363
+ /**
364
+ * 视频元素
365
+ */
366
+ get videoElement(): HTMLVideoElement;
367
+ /**
368
+ * 视频显示组件
369
+ */
370
+ get videoComponent(): any;
371
+ /**
372
+ * 视频显示组件的父容器
373
+ */
374
+ get containerElement(): any;
375
+ /**
376
+ *
377
+ */
378
+ get viewportElement(): any;
379
+ get rootElement(): HTMLElement;
380
+ private _rootElement;
381
+ get serverAddress(): string;
382
+ get serverIp(): string;
383
+ get config(): ILarkSRConfig;
384
+ private _config;
385
+ private loadingTimeout;
386
+ private sdkAuth;
387
+ /**
388
+ * 后台分配的用户id
389
+ */
390
+ get uid(): number;
391
+ private _uid;
392
+ /**
393
+ * @returns 是否是 Task的拥有者
394
+ */
395
+ isTaskOwner(): boolean;
396
+ _isTaskOwner: boolean;
397
+ /**
398
+ * LarkSR 客户端。所有操作和事件通过该类传递
399
+ * 注意,如果手动创建该类,要清楚参数的意义,一般只有调试等特殊情况才手动创建该类
400
+ * @see CreateLarkSRClientFromeAPI, CreateLarkSRClientFromeUrl
401
+ * @param config 本地配置,如果有 IAppliParams 相同的配置项,优先级最高
402
+ * @param params [可选参数] 云端应用参数等,通过后台接口或者url参数获取。
403
+ */
404
+ constructor(config: ILarkSRConfig, params?: IAppliParams);
405
+ /**
406
+ *
407
+ * @param id sdk id 初始化sdkid
408
+ * @returns
409
+ */
410
+ initSDKAuthCode(id: string): Promise<void>;
411
+ connectWithPxyHost(params: {
412
+ appliId: string;
413
+ playerMode?: number;
414
+ userType?: number;
415
+ roomCode?: string;
416
+ taskId?: string;
417
+ }): Promise<void>;
418
+ /**
419
+ * 连接云端渲染资源
420
+ * @params appID 云端资源的 ID
421
+ * @returns Promise 调用接口并校验授权通过返回成功并自动开始连接
422
+ */
423
+ connect(params: {
424
+ appliId: string;
425
+ playerMode?: number;
426
+ userType?: number;
427
+ roomCode?: string;
428
+ taskId?: string;
429
+ nickname?: string;
430
+ appKey?: string;
431
+ timestamp?: string;
432
+ signature?: string;
433
+ }): Promise<void>;
434
+ /**
435
+ * 手动重设进入应用参数
436
+ * @param params
437
+ */
438
+ setAppliParams(params: IAppliParams): void;
439
+ /**
440
+ * 开始云渲染流程
441
+ * 启动时应用参数不能为空,包括 taskID,appServer,appPort
442
+ * @returns 是否成功。主要校验授权码是否成功
443
+ */
444
+ start(): Promise<void>;
445
+ /**
446
+ * 重新开始云渲染流程
447
+ */
448
+ restart(): void;
449
+ /**
450
+ * 重新启动云端应用
451
+ */
452
+ restartApp(): void;
453
+ /**
454
+ * 主动关闭连接
455
+ */
456
+ close(): void;
457
+ /**
458
+ * 切换当前操作者
459
+ * @param uid 用户id
460
+ */
461
+ changeOperater(uid: number): void;
462
+ /**
463
+ * 向云端应用发送文字。当云端应用出现输入框时,可以将本地文本填写进去.
464
+ * @param text 文字
465
+ */
466
+ inputText(text: string): void;
467
+ /**
468
+ * 发送文字消息给数据通道
469
+ * 注意 云端应用要继承数据通道功能
470
+ * @param text 文字
471
+ */
472
+ sendTextToDataChannel(text: string): void;
473
+ /**
474
+ * 发送字节消息给数据通道
475
+ * 注意 云端应用要继承数据通道功能
476
+ * @param binary 字节消息
477
+ */
478
+ sendBinaryToDataChannel(binary: Uint8Array): void;
479
+ /**
480
+ * 手动向iframe外抛出事件
481
+ * 注意一般只在用 iframe 二次集成时才用到
482
+ * @param type
483
+ * @param data
484
+ * @param msg
485
+ */
486
+ postMsg(type: LarkEventType, data?: any, msg?: string): void;
487
+ /**
488
+ * 退出当前页面
489
+ * 注意如果是微信内会调用 WeixinJSBridge 的 close window 方法
490
+ * 可以不使用该方法退出页面
491
+ */
492
+ quit(): void;
493
+ /**
494
+ * 操作相关事件
495
+ * 所有事件坐标相对于云端应用,不相对于网页
496
+ * @param input 操作指令
497
+ */
498
+ sendInput(input: CloudLark.IClientInput): void;
499
+ moseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
500
+ mouseTap(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
501
+ mouseDown(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
502
+ mouseUp(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
503
+ mouseWheel(PosX: number, PosY: number, Delata: number): void;
504
+ keyDown(key: string, isRepeat: boolean): void;
505
+ keyUp(key: string): void;
506
+ gamepadButtonDown(userIndex: number, button: number, isRepeat: boolean): void;
507
+ gamepadButtonUp(userIndex: number, button: number): void;
508
+ gamepadTrigger(userIndex: number, isleft: boolean, value: number): void;
509
+ joystick(userIndex: number, thumblx: number, thumbly: number, thumbrx: number, thumbry: number): void;
510
+ touchDown(id: number, x: number, y: number): void;
511
+ touchMove(id: number, x: number, y: number): void;
512
+ touchUp(id: number, x: number, y: number): void;
513
+ getMouseButtonType(button: 'left' | 'mid' | 'right'): CloudLark.MouseKey;
514
+ $emit(type: LarkEventType, data?: any, message?: string): void;
515
+ $emitError(message?: string, code?: number): void;
516
+ $emitInfo(message?: string, code?: number): void;
517
+ private createEvent;
518
+ private taskProcess;
519
+ private startProcess;
520
+ private onAppStateChange;
521
+ private onGotRemoteStream;
522
+ private onCursorStyle;
523
+ private onAppResize;
524
+ private onAppMouseMode;
525
+ private onAppPlayerList;
526
+ private onAppRequestText;
527
+ private onDataChannelText;
528
+ private onDataChannelBinary;
529
+ private onDataChannelOpen;
530
+ private onDataChannelClose;
531
+ private onOperationTimeout;
532
+ private onOperationInput;
533
+ }
534
+ export { LarkSR, ILarkSRConfig, PlayerModeType, UserType, LarkSREvent, LarkEventType, LarkSRClientEvent, AppliParams, AppliParamsUtils, LoadAppliParamsFromUrl, LoadAppliParamsStartAppInfo, EventBase, API, Operation, Capabilities, ScaleMode, VirtualKey, KEYMAP, CloudLark, FullScreen, LockPointer, };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -3,10 +3,12 @@ import { LocalEvent, EventBase } from '../event/event_base';
3
3
  import { LarkSR } from '../larksr';
4
4
  export declare const enum OPREATION_EVENT_TYPE {
5
5
  Input = 0,
6
- NoOperationTimeout = 1
6
+ NoOperationTimeout = 1,
7
+ ClipboardText = 2
7
8
  }
8
9
  export interface OperationEvent extends LocalEvent<OPREATION_EVENT_TYPE> {
9
10
  input?: CloudLark.ClientInput;
11
+ data?: any;
10
12
  }
11
13
  export default class Operation extends EventBase<OPREATION_EVENT_TYPE, OperationEvent> {
12
14
  private gestureHandler;
@@ -0,0 +1,82 @@
1
+ import { LarkSR } from '@/larksr';
2
+ import { LocalEvent, EventBase } from '../event/event_base';
3
+ export declare const MessageType: {
4
+ /**********************************************************************/
5
+ IFrameRequest: number;
6
+ RequestQualityControl: number;
7
+ MaxFpsRequest: number;
8
+ AverageBitrateRequest: number;
9
+ StartStreaming: number;
10
+ StopStreaming: number;
11
+ LatencyTest: number;
12
+ RequestInitialSettings: number;
13
+ /**********************************************************************/
14
+ UIInteraction: number;
15
+ Command: number;
16
+ KeyDown: number;
17
+ KeyUp: number;
18
+ KeyPress: number;
19
+ MouseEnter: number;
20
+ MouseLeave: number;
21
+ MouseDown: number;
22
+ MouseUp: number;
23
+ MouseMove: number;
24
+ MouseWheel: number;
25
+ TouchStart: number;
26
+ TouchEnd: number;
27
+ TouchMove: number;
28
+ GamepadButtonPressed: number;
29
+ GamepadButtonReleased: number;
30
+ GamepadAnalog: number;
31
+ };
32
+ export declare const enum PIXEL_STREAMING_EVENT_TYPE {
33
+ InputBuffer = 0
34
+ }
35
+ export interface PixelStreamingEvent extends LocalEvent<PIXEL_STREAMING_EVENT_TYPE> {
36
+ intpuBuffer?: ArrayBuffer;
37
+ }
38
+ export declare const ControlSchemeType: {
39
+ LockedMouse: number;
40
+ HoveringMouse: number;
41
+ };
42
+ export default class PixelStreamingInput extends EventBase<PIXEL_STREAMING_EVENT_TYPE, PixelStreamingEvent> {
43
+ private playerElementClientRect;
44
+ private normalizeAndQuantizeUnsigned;
45
+ private normalizeAndQuantizeSigned;
46
+ private unquantizeAndDenormalizeUnsigned;
47
+ private larksr;
48
+ private inputOptions;
49
+ get startListen(): boolean;
50
+ private _startListen;
51
+ constructor(larksr: LarkSR);
52
+ registerInputs(videoElement: HTMLVideoElement): void;
53
+ setupMouseAndFreezeFrame(playerElement: HTMLElement, videoElement: HTMLVideoElement): void;
54
+ emitUIInteraction(descriptor: any): ArrayBuffer;
55
+ emitCommand(descriptor: any): ArrayBuffer;
56
+ requestInitialSettings(): void;
57
+ requestQualityControl(): void;
58
+ emitMouseMove(x: number, y: number, deltaX: number, deltaY: number): void;
59
+ emitMouseDown(button: number, x: number, y: number): void;
60
+ emitMouseUp(button: number, x: number, y: number): void;
61
+ emitMouseWheel(delta: number, x: number, y: number): void;
62
+ releaseMouseButtons(buttons: number, x: number, y: number): void;
63
+ pressMouseButtons(buttons: number, x: number, y: number): void;
64
+ registerMouseEnterAndLeaveEvents(playerElement: HTMLElement): void;
65
+ registerLockedMouseEvents(playerElement: HTMLElement): void;
66
+ registerHoveringMouseEvents(playerElement: HTMLVideoElement): void;
67
+ registerTouchEvents(playerElement: HTMLVideoElement): void;
68
+ isKeyCodeBrowserKey(keyCode: number): boolean;
69
+ getKeyCode(e: KeyboardEvent): number;
70
+ registerKeyboardEvents(): void;
71
+ setupHtmlEvents(): void;
72
+ gamepadConnectHandler(e: any): void;
73
+ gamepadDisconnectHandler(e: any): void;
74
+ emitControllerAxisMove(controllerIndex: any, axisIndex: number, analogValue: number): void;
75
+ emitControllerButtonPressed(controllerIndex: any, buttonIndex: number, isRepeat: number): void;
76
+ emitControllerButtonReleased(controllerIndex: any, buttonIndex: number): void;
77
+ scanGamepads(): void;
78
+ updateStatus(): void;
79
+ setupNormalizeAndQuantize(playerElement: HTMLElement, videoElement: HTMLVideoElement): void;
80
+ emitDescriptor(messageType: number, descriptor: any): ArrayBuffer;
81
+ sendInputData(data: ArrayBuffer): void;
82
+ }
File without changes