larksr_websdk 3.2.320 → 3.2.323

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 (71) hide show
  1. package/dist/larksr-web-sdk.min.js +1 -1
  2. package/package.json +2 -1
  3. package/types/api.d.ts +2 -0
  4. package/types/index.d.ts +2 -1
  5. package/types/lark/application.d.ts +2 -1
  6. package/types/lark/peer_connection.d.ts +3 -2
  7. package/types/larksr.d.ts +47 -3
  8. package/types/operation/gesture.d.ts +3 -1
  9. package/types/operation/gesture_handler.d.ts +37 -0
  10. package/types/operation/keyboard_handler.d.ts +3 -0
  11. package/types/operation/operation.d.ts +30 -5
  12. package/types/utils/capabilities.d.ts +2 -0
  13. package/types/utils/ios-inner-height.d.ts +4 -0
  14. package/types/utils/unit.d.ts +0 -5
  15. package/dist/doc/config.md +0 -145
  16. package/dist/doc/events.md +0 -139
  17. package/dist/doc/functions.md +0 -406
  18. package/dist/doc/index.md +0 -82
  19. package/dist/doc/member_variables.md +0 -162
  20. package/dist/doc/sdkid_encryption.md +0 -40
  21. package/dist/doc/update.md +0 -162
  22. package/dist/types/api.d.ts +0 -124
  23. package/dist/types/appli_params.d.ts +0 -289
  24. package/dist/types/common/cmd.d.ts +0 -28
  25. package/dist/types/common/constant.d.ts +0 -4
  26. package/dist/types/common/interface.d.ts +0 -30
  27. package/dist/types/config.d.ts +0 -59
  28. package/dist/types/event/event_base.d.ts +0 -11
  29. package/dist/types/event/iframe_poster.d.ts +0 -9
  30. package/dist/types/index.d.ts +0 -22
  31. package/dist/types/lark/Worker.d.ts +0 -0
  32. package/dist/types/lark/application.d.ts +0 -178
  33. package/dist/types/lark/custom.d.ts +0 -7
  34. package/dist/types/lark/ice_candiadate_parser.d.ts +0 -24
  35. package/dist/types/lark/lark_event_type.d.ts +0 -113
  36. package/dist/types/lark/message.d.ts +0 -20
  37. package/dist/types/lark/peer_connection.d.ts +0 -173
  38. package/dist/types/lark/recoder.d.ts +0 -55
  39. package/dist/types/lark/sdp_util.d.ts +0 -36
  40. package/dist/types/lark/test_pixel_streaming.d.ts +0 -54
  41. package/dist/types/lark/websocket_channel.d.ts +0 -56
  42. package/dist/types/lark/websocket_proxy.d.ts +0 -56
  43. package/dist/types/larksr.d.ts +0 -890
  44. package/dist/types/localization/base.d.ts +0 -8
  45. package/dist/types/localization/gesture_ins.d.ts +0 -4
  46. package/dist/types/localization/language.d.ts +0 -6
  47. package/dist/types/localization/loader.d.ts +0 -14
  48. package/dist/types/localization/message.d.ts +0 -81
  49. package/dist/types/localization/ui.d.ts +0 -58
  50. package/dist/types/operation/gamepad_handler.d.ts +0 -67
  51. package/dist/types/operation/gesture.d.ts +0 -70
  52. package/dist/types/operation/gesture_handler.d.ts +0 -16
  53. package/dist/types/operation/handler_base.d.ts +0 -8
  54. package/dist/types/operation/keyboard_handler.d.ts +0 -18
  55. package/dist/types/operation/keymap.d.ts +0 -24
  56. package/dist/types/operation/letter_keymap.d.ts +0 -8
  57. package/dist/types/operation/mouse_handler.d.ts +0 -42
  58. package/dist/types/operation/num_keymap.d.ts +0 -12
  59. package/dist/types/operation/operation.d.ts +0 -72
  60. package/dist/types/operation/pixel_streaming_input.d.ts +0 -82
  61. package/dist/types/operation/touch_handler.d.ts +0 -11
  62. package/dist/types/operation/utils.d.ts +0 -18
  63. package/dist/types/protobuf/cloudlark.d.ts +0 -7384
  64. package/dist/types/screen_state.d.ts +0 -116
  65. package/dist/types/utils/browser_type.d.ts +0 -37
  66. package/dist/types/utils/capabilities.d.ts +0 -52
  67. package/dist/types/utils/full_screen.d.ts +0 -25
  68. package/dist/types/utils/lock_pointer.d.ts +0 -23
  69. package/dist/types/utils/log.d.ts +0 -25
  70. package/dist/types/utils/scale_mode.d.ts +0 -26
  71. package/dist/types/utils/unit.d.ts +0 -147
@@ -1,890 +0,0 @@
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
- import Recorder from './lark/recoder';
19
- declare enum PlayerModeType {
20
- /**
21
- * 普通模式
22
- */
23
- Normal = 0,
24
- /**
25
- * 交互模式(可以一人操作多人看)
26
- */
27
- Interactive = 1,
28
- /**
29
- * 多人互动模式 (多人可操作)
30
- */
31
- MutiPlayer = 2
32
- }
33
- /**
34
- * 当前用户的身份
35
- */
36
- declare enum UserType {
37
- /**
38
- * 观看者
39
- */
40
- Observer = 0,
41
- /**
42
- * 操作者
43
- */
44
- Player = 1
45
- }
46
- /**
47
- * LarkSR 实例会发出的事件
48
- */
49
- declare enum LarkSRClientEvent {
50
- /**
51
- * TASK 创建成功,返回 Task 相关信息
52
- */
53
- TASK_CREATE_SUCCESS = "taskcreatesuccess",
54
- /**
55
- * TASK 创建失败
56
- */
57
- TASK_CREATE_FAILED = "taskcreatefailed",
58
- /**
59
- * 连接渲染服务器成功 .
60
- */
61
- CONNECT = "connect",
62
- /**
63
- * 登录成功时触发,会返回当前用户id .
64
- */
65
- LOGIN_SUCCESS = "loginsuccess",
66
- /**
67
- * 无操作超时时触发 .
68
- */
69
- NO_OPERATION_TIMEOUT = "operatetimeout",
70
- /**
71
- * 连接关闭.
72
- */
73
- CLOSE = "close",
74
- /**
75
- * 云端应用关闭,但连接未关闭
76
- */
77
- APP_CLOSE = "appclose",
78
- /**
79
- * 获取到远端视频流 .
80
- */
81
- GOT_REMOTE_STREAM = "gotremotestream",
82
- /**
83
- * 获取到远端音频流 .
84
- */
85
- GOT_REMOTE_AUDIO_STREAM = "gotremoteaudiostream",
86
- /**
87
- * 视频加载成功,等待播放 .
88
- */
89
- MEDIA_LOADED = "meidaloaded",
90
- /**
91
- * 视频自动播放成功 .
92
- */
93
- MEDIA_PLAY_SUCCESS = "mediaplaysuccess",
94
- /**
95
- * 视频自动播放失败 .
96
- */
97
- MEDIA_PLAY_FAILED = "mediaplayfailed",
98
- /**
99
- * 自动播放声音失败,以静音模式播放 .
100
- */
101
- MEDIA_PLAY_MUTE = "meidaplaymute",
102
- /**
103
- * 云渲染连接状态改变 .
104
- */
105
- APPSTATE_CHANGE = "appstatechange",
106
- /**
107
- * 云端应用大小变化 .
108
- */
109
- APP_RESIZE = "appresize",
110
- /**
111
- * 云端应用鼠标模式变化时触发 .
112
- */
113
- APP_MOUSE_MODE = "appmousemode",
114
- /**
115
- * 云端应用鼠标状态变化 .
116
- */
117
- APP_CURSOR_MODE = "appcursormode",
118
- /**
119
- * 玩家列表 .
120
- */
121
- PLAYER_LIST = "playerlist",
122
- /**
123
- * 视频连接状态
124
- */
125
- PEERSTATUS_REPORT = "peerstatusreport",
126
- /**
127
- * 云端应用请求输入文字 .
128
- */
129
- APP_REQUEST_INPUT = "apprequestinput",
130
- /**
131
- * 云端应用请求手柄震动
132
- */
133
- APP_REQUEST_GAMEPAD_OUPUT = "apprequestgamepadoutput",
134
- /**
135
- * 截图成功.
136
- */
137
- CAPTURE_FRAME = "captureframe",
138
- /**
139
- * 数据通道打开 .
140
- */
141
- DATACHANNEL_OPEN = "datachannelopen",
142
- /**
143
- * 数据通道关闭 .
144
- */
145
- DATACHANNEL_CLOSE = "datachannelclose",
146
- /**
147
- * 数据通达收到文字消息 .
148
- * > V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
149
- */
150
- DATACHANNEL_TEXT = "datachanneltext",
151
- /**
152
- * 数据通道收到字节消息 .
153
- */
154
- DATACHANNEL_BINARY = "datachannelbinary",
155
- /**
156
- * 更详细的事件状态,主要用于向iframe外部抛出 .
157
- */
158
- LarkEvent = "larkevent",
159
- /**
160
- * 发生错误时抛出
161
- */
162
- ERROR = "error",
163
- /**
164
- * 一般信息提示
165
- */
166
- INFO = "info",
167
- /**
168
- * 语音对话的状态
169
- */
170
- AI_VOICE_STATUS = "aivoicestatus",
171
- /**
172
- * 语音识别转文字的结果
173
- */
174
- AI_VOICE_ASR_RESULT = "aivoiceasrresult",
175
- /**
176
- * 对话返回的结果
177
- */
178
- AI_VOICE_DM_RESULT = "aivoicedmresult",
179
- /**
180
- * 对话出错详细信息
181
- */
182
- AI_VOICE_ERROR = "aivoiceerror"
183
- }
184
- /**
185
- * LarkSR 发出的事件
186
- */
187
- interface LarkSREvent extends LocalEvent<LarkSRClientEvent> {
188
- data?: any;
189
- message?: string;
190
- code?: number;
191
- larkevent?: LarkEventType;
192
- rawData?: any;
193
- }
194
- declare type PublicPortMapping = {
195
- [key: string]: string;
196
- };
197
- /**
198
- * 构造 LarkSR 参数
199
- */
200
- interface ILarkSRConfig {
201
- /**
202
- * 必选项 根元素。组件会挂载到跟元素下面
203
- * 注意*不要*设置为 document.documentElement
204
- * 默认模式下会通过旋转根元素实现强制横屏模式。
205
- * @see handelRootElementSize
206
- * @see scaleMode
207
- */
208
- rootElement: HTMLElement;
209
- /**
210
- * 可选项 服务器地址. LarkServer 前台访问的地址
211
- * 如: http://192.168.0.55:8181/
212
- * 当使用托管服务时服务器地址自动分配,可留空。
213
- * 使用托管服务时@see CreateLarkSRClientFromePXYHost @see larksr.connectWithPxyHost
214
- */
215
- serverAddress?: string;
216
- /**
217
- * 可选项。 sdk 授权码。如果不在此处填,则必须在后续的实例里调用 initSDKAuthCode 初始化。
218
- */
219
- authCode?: string;
220
- /**
221
- * 可选项,授权是否成功
222
- * @deprecated 目前不会回调该参数。如果SDK验证失败将在 connect 返回失败
223
- */
224
- authCodeCallback?: (isSuccess: boolean, e: any) => void;
225
- /**
226
- * 可选项,载入时的背景图片 url
227
- */
228
- loadingBgUrl?: string;
229
- /**
230
- * 可选项,是否同步传入根的组件的大小样式。
231
- * 默认开启,将跟组件大小设置为浏览器视口大小
232
- * 如果关闭,内部组件将按照传入的根元素大小去显示
233
- * 注意,当关闭时不会自动填充根元素,如果根元素高度为 0 将显示不出来。
234
- * 注意,当关闭时 mobileForceLandscape 将失去作用。
235
- */
236
- handelRootElementSize?: boolean;
237
- /**
238
- * 是否在sdk内部监听鼠标键盘等输入事件
239
- * 如果关闭需要手动发送输入事件
240
- * 注意关闭时全屏模式和锁定模式将失效,需要在sdk外部触发
241
- * @see fullScreenMode
242
- */
243
- handlInput?: boolean;
244
- /**
245
- * 当视频播自动放失败时是否尝试静音播放,静音播放时将抛出事件
246
- * 静音播放当用户操作屏幕时将尝试播放声音
247
- */
248
- mutePlayWhenFiled?: boolean;
249
- /**
250
- * 可选项,是否是 vr 监控类型。
251
- */
252
- isMonitor?: boolean;
253
- /**
254
- * 可选项,码率
255
- */
256
- codeRate?: number;
257
- /**
258
- * 可选项,帧率
259
- */
260
- frameRate?: number;
261
- /**
262
- * 可选项,音频帧率
263
- */
264
- audioCodeRate?: number;
265
- /**
266
- * 可选项,日志级别。默认为 warn
267
- */
268
- logLevel?: 'info' | 'warn' | 'error';
269
- /**
270
- * 可选项,载入超时时间. 默认为 60s。超过该事件停止载入
271
- */
272
- loadingTimeout?: number;
273
- /**
274
- * 可选项,是否自动同步剪贴板数据
275
- */
276
- syncLocalToCloudClipboard?: boolean;
277
- /**
278
- * 可选项,优选选择的视频编码格式
279
- */
280
- preferDecoder?: 'auto' | 'vp8' | 'vp9' | 'h264' | 'h265' | 'hevc' | 'av1x';
281
- /**
282
- * 可选项,视频在容器中的缩放模式
283
- *
284
- */
285
- scaleMode?: ScaleMode;
286
- /**
287
- * 全屏模式
288
- * 0 -》 用户手动触发
289
- * 1 -》 首次点击进入触发
290
- * 2 -》 每次点击触发
291
- */
292
- fullScreenMode?: number;
293
- /**
294
- * 可选项,手机端的全屏模式,值同 fullScreenMode
295
- */
296
- mobileFullScreenMode?: number;
297
- /**
298
- * 可选项,手机端是否强制横屏
299
- */
300
- mobileForceLandscape?: boolean;
301
- /**
302
- * 初始化鼠标模式, true 锁定,false 非锁定
303
- */
304
- initCursorMode?: boolean;
305
- /**
306
- * 渲染服务器外网端口映射
307
- * 格式为 key=[渲染服务器IP:PORT] value=[外网IP:PORT]
308
- * {
309
- * "RENDER-A-IP:RENDER-A-PORT1": "PUBLIC-A-IP:PORT1",
310
- * "RENDER-B-IP:RENDER-B-PORT1": "PUBLIC-A-IP:PORT2",
311
- * "RENDER-C-IP:RENDER-C-PORT1": "PUBLIC-A-IP:PORT3",
312
- * "RENDER-D-IP:RENDER-D-PORT1": "PUBLIC-B-IP:PORT1",
313
- * "RENDER-E-IP:RENDER-E-PORT1": "PUBLIC-B-IP:PORT2",
314
- * "RENDER-E-IP:RENDER-E-PORT2": "PUBLIC-C-IP:PORT1",
315
- * }
316
- */
317
- publicPortMapping?: PublicPortMapping;
318
- /**
319
- * 是否提示输入文字 APP_REQUEST_INPUT
320
- * 当服务端检测到输入法事件后会抛出事件,可在 web 层添加输入框,配合 inputText 发送文字到云端
321
- * 默认打开,当手动关闭时将不会抛出 APP_REQUEST_INPUT 事件
322
- */
323
- textInputEventPrompt?: boolean;
324
- /**
325
- * 当启用音频输入功能,是否自动连入音频设备。
326
- * 默认关闭。
327
- * 需要注意默认打开的是系统中默认的音频设备。
328
- */
329
- audioInputAutoStart?: boolean;
330
- /**
331
- * 当启用视频输入功能,是否自动连入视频设备。
332
- * 默认关闭。
333
- * 需要注意默认打开的是系统中默认的视频设备。
334
- */
335
- videoInputAutoStart?: boolean;
336
- }
337
- declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
338
- /**
339
- * 应用参数,构建时传入
340
- */
341
- get params(): AppliParams;
342
- private _params;
343
- /**
344
- * 当前的玩家模式,
345
- */
346
- get playerModeType(): PlayerModeType;
347
- /**
348
- * 用户类型
349
- * @see UserType
350
- */
351
- get userType(): UserType;
352
- /**
353
- * 是否是观看者模式
354
- */
355
- get isObMode(): boolean;
356
- /**
357
- * 当前是否是交互模式,交互默认即可以操作的模式
358
- */
359
- get isInteractiveMode(): boolean;
360
- get isPixelStreaming(): boolean;
361
- /**
362
- * 当前 app 的状态
363
- */
364
- get appState(): APP_STATE;
365
- get app(): Application;
366
- private _app;
367
- /**
368
- * 云端画面是否准备好,准备好后才可以发送输入事件
369
- */
370
- get remoteScreenReady(): boolean;
371
- set remoteScreenReady(ready: boolean);
372
- private _remoteScreenReady;
373
- /**
374
- * 当前的屏幕状态
375
- * @see ScreenState
376
- */
377
- get screenState(): ScreenState;
378
- private _screenState;
379
- /**
380
- * 动态设置scalemode
381
- */
382
- set scaleMode(scaleMode: ScaleMode);
383
- get mouseZoomDirection(): number;
384
- /**
385
- * 动态设置滚轮和缩放手势对应关系
386
- */
387
- set mouseZoomDirection(direction: number);
388
- /**
389
- * 当前的输入控制
390
- * @see Operation
391
- */
392
- get op(): Operation;
393
- private _op;
394
- /**
395
- * 像素流送输入控制
396
- */
397
- private pixelInput;
398
- private iframeHandler;
399
- get fullScreen(): FullScreen;
400
- private _fullScreen;
401
- get lockPointer(): LockPointer;
402
- private _lockPointer;
403
- private _view;
404
- /**
405
- * 视频元素
406
- */
407
- get videoElement(): HTMLVideoElement;
408
- /**
409
- * 视频显示组件
410
- */
411
- get videoComponent(): any;
412
- /**
413
- * 音频元素
414
- */
415
- get audioElement(): HTMLAudioElement;
416
- /**
417
- * 是否有单独的音频流
418
- */
419
- get isSeprateAudioTrack(): any;
420
- /**
421
- * 视频显示组件的父容器
422
- */
423
- get containerElement(): any;
424
- /**
425
- *
426
- */
427
- get viewportElement(): any;
428
- /**
429
- * 是否显示移动端触摸点
430
- */
431
- set isEnableTouchPonit(enable: boolean);
432
- /**
433
- * 是否显示载入画面时底部文字
434
- */
435
- set isEnableLoadingStateBar(enable: boolean);
436
- get rootElement(): HTMLElement;
437
- private _rootElement;
438
- get serverAddress(): string;
439
- get serverIp(): string;
440
- get config(): ILarkSRConfig;
441
- private _config;
442
- private loadingTimeout;
443
- /**
444
- * 后台分配的用户id
445
- */
446
- get uid(): number;
447
- private _uid;
448
- /**
449
- * 云端应用是否是预启动状态
450
- */
451
- get isPreStart(): boolean;
452
- private _isPreStart;
453
- /**
454
- * @returns 是否是 Task的拥有者
455
- */
456
- isTaskOwner(): boolean;
457
- _isTaskOwner: boolean;
458
- /**
459
- * true:锁定模式 false:非锁定模式
460
- */
461
- set initCursorMode(mode: boolean);
462
- get initCursorMode(): boolean;
463
- /**
464
- * 当前打开的音频设备 ID,如果打开时没指定为空
465
- */
466
- get audioDeviceId(): string | undefined;
467
- /**
468
- * 当前打开音频的track对象,未打开状态为空
469
- */
470
- get audioTrack(): MediaStreamTrack | undefined;
471
- /**
472
- * 当前打开视频设备 ID,如果打开时没指定特设备id为空
473
- */
474
- get videoDeviceId(): string | undefined;
475
- /**
476
- * 当前打开视频track对象,未打开状态为空
477
- */
478
- get videoTrack(): MediaStreamTrack | undefined;
479
- /**
480
- * LarkSR 客户端。所有操作和事件通过该类传递
481
- * @param config 本地配置,优先级最高
482
- */
483
- constructor(config: ILarkSRConfig);
484
- /**
485
- * 单独设置sdk授权码,目前总会返回成功 promise,具体验证失败将在 connectWithPxyHost 或 connect 返回
486
- * @param id sdk id 初始化sdkid
487
- * @returns
488
- */
489
- initSDKAuthCode(id: string): Promise<void>;
490
- connectWithPxyHost(params: {
491
- appliId: string;
492
- playerMode?: number;
493
- userType?: number;
494
- roomCode?: string;
495
- taskId?: string;
496
- regionId?: string;
497
- groupId?: string;
498
- }): Promise<void>;
499
- /**
500
- * 连接云端渲染资源
501
- * @params appID 云端资源的 ID
502
- * @returns Promise 调用接口并校验授权通过返回成功并自动开始连接
503
- */
504
- connect(params: {
505
- appliId: string;
506
- playerMode?: number;
507
- userType?: number;
508
- roomCode?: string;
509
- taskId?: string;
510
- clientMac?: string;
511
- groupId?: string;
512
- regionId?: string;
513
- targetServerIp?: string;
514
- appKey?: string;
515
- timestamp?: string;
516
- signature?: string;
517
- } | any): Promise<void>;
518
- /**
519
- * 用户手动填昵称,需要在 start 或 connect 之前设置才能生效。
520
- */
521
- setNickname(nickname: string): void;
522
- /**
523
- * 手动重设进入应用参数
524
- * @param params
525
- */
526
- setAppliParams(params: IAppliParams): void;
527
- /**
528
- * 开始云渲染流程
529
- * 启动时应用参数不能为空,包括 taskID,appServer,appPort
530
- * @returns 是否成功。主要校验授权码是否成功
531
- */
532
- start(): Promise<void>;
533
- /**
534
- * 重新开始云渲染流程
535
- */
536
- restart(): void;
537
- /**
538
- * 重新启动云端应用
539
- */
540
- restartApp(): void;
541
- /**
542
- * 主动关闭连接
543
- */
544
- close(): void;
545
- /**
546
- * 设置是否强制横屏显示内容.
547
- * handelRootElementSize 必须设置为 true 才有作用。
548
- * 要注意强制横屏模式下网页的坐标系xy和视觉上相反,如果通过外部输入 input 事件。要注意调整
549
- * @param force 是否强制横屏
550
- */
551
- setMobileForceLandScape(force: boolean): void;
552
- /**
553
- * 切换当前操作者
554
- * @param uid 用户id
555
- */
556
- changeOperater(uid: number): void;
557
- /**
558
- * 向云端应用发送文字。当云端应用出现输入框时,可以将本地文本填写进去.
559
- * @param text 文字
560
- */
561
- inputText(text: string): void;
562
- /**
563
- * 开始智能语音对话文本输入
564
- * 应在只能语音为开始状态下开始输入
565
- * @param text 输入的文本
566
- * @returns 返回对话 ID
567
- */
568
- aiDmTextInput(text: string): number;
569
- /**
570
- * 开始智能语音对话语音输入,自动请求录音权限
571
- * 应在只能语音为开始状态下开始输入
572
- * @returns 成功返回对话id,失败返回异常
573
- */
574
- startAiDmVoiceInput(): Promise<number>;
575
- /**
576
- * 停止智能语音输入,通知语音引擎当前用户输入对话结束
577
- * @returns 返回当前对话的id
578
- */
579
- stopAiDmVoiceInput(): number;
580
- /**
581
- * 发送文字消息给数据通道
582
- * 注意 云端应用要继承数据通道功能
583
- * > V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
584
- * @param text 文字
585
- */
586
- sendTextToDataChannel(text: string): void;
587
- /**
588
- * 发送字节消息给数据通道
589
- * 注意 云端应用要继承数据通道功能
590
- * @param binary 字节消息
591
- */
592
- sendBinaryToDataChannel(binary: Uint8Array): void;
593
- /**
594
- * 手动向iframe外抛出事件
595
- * 注意一般只在用 iframe 二次集成时才用到
596
- * @param type
597
- * @param data
598
- * @param msg
599
- */
600
- postMsg(type: LarkEventType, data?: any, msg?: string): void;
601
- /**
602
- * 退出当前页面
603
- * 注意如果是微信内会调用 WeixinJSBridge 的 close window 方法
604
- * 可以不使用该方法退出页面
605
- */
606
- quit(): void;
607
- resetAppMouseLockState(): void;
608
- /**
609
- * 采集一帧图像
610
- */
611
- captrueFrame(data: any): void;
612
- /**
613
- * 操作相关事件
614
- * 所有事件坐标相对于云端应用,不相对于网页
615
- * CloudLark.IClientInput 是所有操作指令接口对象的合集
616
- * 可以单独使用下面 moseMove 等接口
617
- * @param input 操作指令
618
- */
619
- sendInput(input: CloudLark.IClientInput): void;
620
- /**
621
- * 向云端发送鼠标移动事件
622
- * 事件坐标相对于云端应用,不相对于网页
623
- * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
624
- * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
625
- * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
626
- *
627
- * @param PosX 相对云端鼠标 X 点坐标
628
- * @param PosY 相对云端鼠标 Y 点坐标
629
- * @param DeltaX 相对云端鼠标 X 轴移动距离
630
- * @param DeltaY 相对云端鼠标 X 轴移动距离
631
- */
632
- mouseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
633
- /**
634
- * 向云端发送鼠标移动事件
635
- * 事件坐标相对于云端应用,不相对于网页
636
- * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
637
- * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
638
- * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
639
- *
640
- * @param PosX 相对云端鼠标 X 点坐标
641
- * @param PosY 相对云端鼠标 Y 点坐标
642
- * @param DeltaX 相对云端鼠标 X 轴移动距离
643
- * @param DeltaY 相对云端鼠标 X 轴移动距离
644
- */
645
- moseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
646
- /**
647
- * 向云端发送鼠标单击事件
648
- * X Y 坐标计算方式同 mouseMove
649
- *
650
- * @param PosX 相对云端鼠标 X 点坐标
651
- * @param PosY 相对云端鼠标 Y 点坐标
652
- * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
653
- */
654
- mouseTap(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
655
- /**
656
- * 向云端发送鼠标按下事件
657
- * X Y 坐标计算方式同 mouseMove
658
- *
659
- * @param PosX 相对云端鼠标 X 点坐标
660
- * @param PosY 相对云端鼠标 Y 点坐标
661
- * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
662
- */
663
- mouseDown(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
664
- /**
665
- * 向云端发送鼠标抬起事件
666
- * X Y 坐标计算方式同 mouseMove
667
- *
668
- * @param PosX 相对云端鼠标 X 点坐标
669
- * @param PosY 相对云端鼠标 Y 点坐标
670
- * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
671
- */
672
- mouseUp(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
673
- /**
674
- * 向云端发送鼠标滚轮事件
675
- * X Y 坐标计算方式同 mouseMove
676
- *
677
- * @param PosX 相对云端鼠标 X 点坐标
678
- * @param PosY 相对云端鼠标 Y 点坐标
679
- * @param Delata 120/-120 鼠标滚轮滚动的数值
680
- */
681
- mouseWheel(PosX: number, PosY: number, Delata: number): void;
682
- /**
683
- * 向云端发送键盘按键按下事件
684
- * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
685
- * @param isRepeat KeyboardEvent.repeat 字段,参考https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
686
- * @returns 是否发送成功,如果key参数传递错误可能发送失败
687
- */
688
- keyDown(key: string, isRepeat: boolean): void;
689
- /**
690
- * 向云端发送键盘按键抬起事件
691
- * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
692
- * @returns 是否发送成功,如果key参数传递错误可能发送失败
693
- */
694
- keyUp(key: string): void;
695
- /**
696
- * 手柄接口消息按照 windows xbox 360 手柄标准定义,即包含 xbox 360 手柄的功能,如按钮,摇杆,扳机键。windows 上最多支持4个手柄,
697
- * 当前版本服务端只处理1个手柄,后续会放开多个手柄的支持。接口中发送的按键值为对应的 windows 中定义的按键值。
698
- * 向云端发送手柄按钮按下事件
699
- * 參考 js 中获取手柄事件,参考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
700
- * @param userIndex 手柄的索引,硬件设备索引 0-3. 第一个连接的手柄为0,第二个为1,以此类推。
701
- * @param button 按鍵 @see https://docs.microsoft.com/en-us/windows/win32/api/xinput/ns-xinput-xinput_gamepad
702
- * export const enum XINPUT_BUTTONS {
703
- * XINPUT_GAMEPAD_DPAD_UP = 0x0001,
704
- * XINPUT_GAMEPAD_DPAD_DOWN = 0x0002,
705
- * XINPUT_GAMEPAD_DPAD_LEFT = 0x0004,
706
- * XINPUT_GAMEPAD_DPAD_RIGHT = 0x0008,
707
- * XINPUT_GAMEPAD_START = 0x0010,
708
- * XINPUT_GAMEPAD_BACK = 0x0020,
709
- * XINPUT_GAMEPAD_LEFT_THUMB = 0x0040,
710
- * XINPUT_GAMEPAD_RIGHT_THUMB = 0x0080,
711
- * XINPUT_GAMEPAD_LEFT_SHOULDER = 0x0100,
712
- * XINPUT_GAMEPAD_RIGHT_SHOULDER = 0x0200,
713
- * XINPUT_GAMEPAD_A = 0x1000,
714
- * XINPUT_GAMEPAD_B = 0x2000,
715
- * XINPUT_GAMEPAD_X = 0x4000,
716
- * XINPUT_GAMEPAD_Y = 0x8000,
717
- * XINPUT_UNKNOWN = -1,
718
- * }
719
- * @param isRepeat 是否重复按下
720
- * @returns
721
- */
722
- gamepadButtonDown(userIndex: number, button: number, isRepeat: boolean): void;
723
- /**
724
- * 向云端发送手柄按钮抬起事件
725
- * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
726
- * @param userIndex 手柄的索引
727
- * @param button 按鍵
728
- * @returns
729
- */
730
- gamepadButtonUp(userIndex: number, button: number): void;
731
- /**
732
- * 向云端发送手柄按trigger键事件
733
- * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
734
- * @param userIndex 手柄的索引
735
- * @param isleft 是否是左trigger
736
- * @param value trigger的值 扳机键的值 0-255
737
- * @returns
738
- */
739
- gamepadTrigger(userIndex: number, isleft: boolean, value: number): void;
740
- /**
741
- * 向云端发送手柄按摇杆的值,即 axes 值
742
- * win MAX
743
- * |
744
- * MIN-------------MAX
745
- * |
746
- * MIN
747
- * js 中获取硬件手柄參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
748
- * @param userIndex 手柄的索引
749
- * @param thumblx 左摇杆 X 值,-32767 到 32767
750
- * @param thumbly 左摇杆 Y 值,-32767 到 32767
751
- * @param thumbrx 右摇杆 X 值,-32767 到 32767
752
- * @param thumbry 右摇杆 Y 值,-32767 到 32767
753
- * @returns
754
- */
755
- joystick(userIndex: number, thumblx: number, thumbly: number, thumbrx: number, thumbry: number): void;
756
- /**
757
- * 向云端发送触摸按下事件
758
- * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
759
- * @param id 手指的id,当前触摸事件按下手指的 id,同一个手指 id 相同。id 应每次触摸增加。即 touchdown 时 +1,
760
- * touch move 和 touch up 时保持。当前手指未离开,又有新的手指 touchdown 时再 +1 获得新的 id
761
- * @param x 相对云端的x轴坐标
762
- * @param y 相对云端的y轴坐标
763
- * @returns
764
- */
765
- touchDown(id: number, x: number, y: number): void;
766
- /**
767
- * 向云端发送触摸移动事件
768
- * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
769
- * @param id 手指的id
770
- * @param x 相对云端的x轴坐标
771
- * @param y 相对云端的y轴坐标
772
- * @returns
773
- */
774
- touchMove(id: number, x: number, y: number): void;
775
- /**
776
- * 向云端发送触摸抬起事件
777
- * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
778
- * @param id 手指的id
779
- * @param x 相对云端的x轴坐标
780
- * @param y 相对云端的y轴坐标
781
- * @returns
782
- */
783
- touchUp(id: number, x: number, y: number): void;
784
- /**
785
- * 字符串转换为输入的鼠标按键值
786
- * @param button 'left' | 'mid' | 'right'
787
- * @returns LEFT = 0,RIGHT = 1,MIDDLE = 2
788
- */
789
- getMouseButtonType(button: 'left' | 'mid' | 'right'): CloudLark.MouseKey;
790
- /**
791
- * 媒体采集相关
792
- */
793
- /**
794
- * 设置当前已开启的音频track是否启用状态
795
- * @param enable 是否启用
796
- * @returns
797
- */
798
- setAudioEnable(enable: boolean): void | undefined;
799
- /**
800
- * 设置当前已开启的视频track是否启用状态
801
- * @param enable 是否启用
802
- * @returns
803
- */
804
- setVideoEnable(enable: boolean): void | undefined;
805
- setShareEnable(enable: boolean): void | undefined;
806
- /**
807
- * 关闭当前的音频设备
808
- * @returns
809
- */
810
- closeAudio(): boolean | undefined;
811
- closeVideo(): boolean | undefined;
812
- closeShare(): boolean | undefined;
813
- /**
814
- * 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
815
- * @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
816
- * @returns Promise
817
- */
818
- openAudio(deviceId?: string): Promise<{
819
- streams: MediaStream;
820
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
821
- } | undefined>;
822
- /**
823
- * 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
824
- * @param audio boolean 是否同时开启音频
825
- * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
826
- * @returns Promise
827
- */
828
- openVideo(audio?: boolean, cameraId?: string): Promise<{
829
- streams: MediaStream;
830
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
831
- } | undefined>;
832
- /**
833
- * 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
834
- * 如果需要指定特殊的媒体设备请单独使用 @see openAudio @see openVideo
835
- * @param video 是否包含视频
836
- * @param audio 是否包含音频
837
- * @returns Promise
838
- */
839
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<void | undefined>;
840
- openShareMediaDevice(): Promise<void | undefined>;
841
- /**
842
- * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
843
- * @returns Promise<MediaDeviceInfo[]>
844
- */
845
- getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
846
- getConnectedAudioOutputDevices(): Promise<MediaDeviceInfo[] | undefined>;
847
- /**
848
- * 返回已连接的视频设备
849
- * @returns Promise<MediaDeviceInfo[]>
850
- */
851
- getConnectedVideoinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
852
- getConnectedDevices(type: MediaDeviceKind): Promise<MediaDeviceInfo[] | undefined>;
853
- openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<{
854
- streams: MediaStream;
855
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
856
- } | undefined>;
857
- openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<{
858
- streams: MediaStream;
859
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
860
- } | undefined>;
861
- openUserMeida(constraints?: MediaStreamConstraints): Promise<{
862
- streams: MediaStream;
863
- rtcRtpSenders: import("./lark/peer_connection").RTCMediaTrackBinding[];
864
- } | undefined>;
865
- addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
866
- removeMediaTrack(track: RTCRtpSender): boolean | undefined;
867
- requestUserMediaPermission(constraints?: MediaStreamConstraints): Promise<MediaStream> | undefined;
868
- $emit(type: LarkEventType, data?: any, message?: string): void;
869
- $emitError(message?: string, code?: number): void;
870
- $emitInfo(message?: string, code?: number): void;
871
- private createEvent;
872
- private setupListener;
873
- private taskProcess;
874
- private startProcess;
875
- private onAppStateChange;
876
- private onGotRemoteStream;
877
- private onGotRemoteAudioStream;
878
- private onCursorStyle;
879
- private onAppResize;
880
- private onAppMouseMode;
881
- private onAppPlayerList;
882
- private onAppRequestText;
883
- private onDataChannelText;
884
- private onDataChannelBinary;
885
- private onDataChannelOpen;
886
- private onDataChannelClose;
887
- private onOperationTimeout;
888
- private onOperationInput;
889
- }
890
- export { LarkSR, ILarkSRConfig, PlayerModeType, UserType, LarkSREvent, LarkEventType, LarkSRClientEvent, AppliParams, AppliParamsUtils, LoadAppliParamsFromUrl, LoadAppliParamsStartAppInfo, EventBase, API, Operation, Capabilities, ScaleMode, VirtualKey, KEYMAP, CloudLark, FullScreen, LockPointer, Recorder, };