larksr_websdk 3.2.339 → 3.2.340

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 (65) hide show
  1. package/package.json +1 -1
  2. package/dist/doc/config.md +0 -222
  3. package/dist/doc/event_codes.md +0 -286
  4. package/dist/doc/events.md +0 -229
  5. package/dist/doc/functions.md +0 -603
  6. package/dist/doc/index.md +0 -83
  7. package/dist/doc/member_variables.md +0 -407
  8. package/dist/doc/sdkid_encryption.md +0 -40
  9. package/dist/doc/update.md +0 -447
  10. package/dist/types/api.d.ts +0 -132
  11. package/dist/types/appli_params.d.ts +0 -298
  12. package/dist/types/common/cmd.d.ts +0 -28
  13. package/dist/types/common/constant.d.ts +0 -4
  14. package/dist/types/common/interface.d.ts +0 -30
  15. package/dist/types/config.d.ts +0 -59
  16. package/dist/types/event/event_base.d.ts +0 -11
  17. package/dist/types/event/iframe_poster.d.ts +0 -9
  18. package/dist/types/index.d.ts +0 -23
  19. package/dist/types/lark/Worker.d.ts +0 -0
  20. package/dist/types/lark/application.d.ts +0 -189
  21. package/dist/types/lark/custom.d.ts +0 -7
  22. package/dist/types/lark/ice_candiadate_parser.d.ts +0 -24
  23. package/dist/types/lark/lark_event_type.d.ts +0 -114
  24. package/dist/types/lark/media_share_interface.d.ts +0 -46
  25. package/dist/types/lark/message.d.ts +0 -22
  26. package/dist/types/lark/peer_connection.d.ts +0 -188
  27. package/dist/types/lark/peer_connection_media_share.d.ts +0 -100
  28. package/dist/types/lark/recoder.d.ts +0 -55
  29. package/dist/types/lark/sdp_util.d.ts +0 -36
  30. package/dist/types/lark/test_pixel_streaming.d.ts +0 -54
  31. package/dist/types/lark/websocket_channel.d.ts +0 -57
  32. package/dist/types/lark/websocket_proxy.d.ts +0 -56
  33. package/dist/types/larksr.d.ts +0 -1226
  34. package/dist/types/localization/base.d.ts +0 -8
  35. package/dist/types/localization/gesture_ins.d.ts +0 -4
  36. package/dist/types/localization/language.d.ts +0 -6
  37. package/dist/types/localization/loader.d.ts +0 -14
  38. package/dist/types/localization/message.d.ts +0 -81
  39. package/dist/types/localization/ui.d.ts +0 -60
  40. package/dist/types/operation/gamepad_handler.d.ts +0 -67
  41. package/dist/types/operation/gesture.d.ts +0 -72
  42. package/dist/types/operation/gesture_handler.d.ts +0 -53
  43. package/dist/types/operation/handler_base.d.ts +0 -8
  44. package/dist/types/operation/keyboard_handler.d.ts +0 -21
  45. package/dist/types/operation/keymap.d.ts +0 -24
  46. package/dist/types/operation/letter_keymap.d.ts +0 -8
  47. package/dist/types/operation/mouse_handler.d.ts +0 -42
  48. package/dist/types/operation/num_keymap.d.ts +0 -12
  49. package/dist/types/operation/operation.d.ts +0 -97
  50. package/dist/types/operation/pixel_streaming_input.d.ts +0 -82
  51. package/dist/types/operation/touch_handler.d.ts +0 -11
  52. package/dist/types/operation/utils.d.ts +0 -18
  53. package/dist/types/protobuf/cloudlark.d.ts +0 -8095
  54. package/dist/types/screen_state.d.ts +0 -118
  55. package/dist/types/utils/browser_type.d.ts +0 -37
  56. package/dist/types/utils/capabilities.d.ts +0 -54
  57. package/dist/types/utils/full_screen.d.ts +0 -25
  58. package/dist/types/utils/ios-inner-height.d.ts +0 -4
  59. package/dist/types/utils/lock_pointer.d.ts +0 -23
  60. package/dist/types/utils/log.d.ts +0 -25
  61. package/dist/types/utils/scale_mode.d.ts +0 -26
  62. package/dist/types/utils/unit.d.ts +0 -148
  63. package/types/lark/custom.d.ts +0 -7
  64. package/types/protobuf/cloudlark.d.ts +0 -8095
  65. package/types/utils/ios-inner-height.d.ts +0 -4
@@ -1,1226 +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
- import { GESTURE_TYPE } from './operation/gesture';
20
- declare enum PlayerModeType {
21
- /**
22
- * 普通模式
23
- */
24
- Normal = 0,
25
- /**
26
- * 交互模式(可以一人操作多人看)
27
- */
28
- Interactive = 1,
29
- /**
30
- * 多人互动模式 (多人可操作)
31
- */
32
- MutiPlayer = 2
33
- }
34
- /**
35
- * 当前用户的身份
36
- */
37
- declare enum UserType {
38
- /**
39
- * 观看者
40
- */
41
- Observer = 0,
42
- /**
43
- * 操作者
44
- */
45
- Player = 1
46
- }
47
- /**
48
- * LarkSR 实例会发出的事件
49
- */
50
- declare enum LarkSRClientEvent {
51
- /**
52
- * TASK 创建成功,返回 Task 相关信息
53
- */
54
- TASK_CREATE_SUCCESS = "taskcreatesuccess",
55
- /**
56
- * TASK 创建失败
57
- */
58
- TASK_CREATE_FAILED = "taskcreatefailed",
59
- /**
60
- * 渲染资源不足
61
- * {
62
- // 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
63
- // 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
64
- // 813=当前应用的运行数量已达到最大值:{0},请稍后再试
65
- // 814=同一appKey下的应用运行数量达到最大值:{0},请稍后再试
66
- // 815=应用运行数量已达到最大授权并发数量,请稍后再试
67
- // 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
68
- // 817=渲染资源不足,请稍后再试
69
- // 820=暂无活跃的GPU节点
70
- // 821=节点资源使用率已达到设置的阈值
71
- // 823=单节点运行应用数量已达到单节点最大授权并发数量,请稍后再试
72
- code?: 817,
73
-
74
- // 错误信息
75
- message:? "",
76
- }
77
- *
78
- */
79
- RESOURCE_NOT_ENOUGH = "resourcenotenough",
80
- /**
81
- * 连接渲染服务器成功 .
82
- */
83
- CONNECT = "connect",
84
- /**
85
- * 登录成功时触发,会返回当前用户id .
86
- */
87
- LOGIN_SUCCESS = "loginsuccess",
88
- /**
89
- * 无操作超时时触发 .
90
- */
91
- NO_OPERATION_TIMEOUT = "operatetimeout",
92
- /**
93
- * 连接关闭.
94
- */
95
- CLOSE = "close",
96
- /**
97
- * 云端应用关闭,但连接未关闭
98
- */
99
- APP_CLOSE = "appclose",
100
- /**
101
- * 获取到远端视频流 .
102
- */
103
- GOT_REMOTE_STREAM = "gotremotestream",
104
- /**
105
- * 获取到远端音频流 .
106
- */
107
- GOT_REMOTE_AUDIO_STREAM = "gotremoteaudiostream",
108
- /**
109
- * 视频加载成功
110
- */
111
- MEDIA_LOADED = "meidaloaded",
112
- MEDIA_LOADED2 = "medialoaded",
113
- /**
114
- * 视频自动播放成功 .
115
- */
116
- MEDIA_PLAY_SUCCESS = "mediaplaysuccess",
117
- /**
118
- * 视频自动播放失败 .
119
- */
120
- MEDIA_PLAY_FAILED = "mediaplayfailed",
121
- /**
122
- * 自动播放声音失败,以静音模式播放 .
123
- */
124
- MEDIA_PLAY_MUTE = "meidaplaymute",
125
- /**
126
- * 云渲染连接状态改变 .
127
- */
128
- APPSTATE_CHANGE = "appstatechange",
129
- /**
130
- * 云端应用大小变化 .
131
- */
132
- APP_RESIZE = "appresize",
133
- /**
134
- * 云端应用鼠标模式变化时触发 .
135
- */
136
- APP_MOUSE_MODE = "appmousemode",
137
- /**
138
- * 云端应用鼠标状态变化 .
139
- */
140
- APP_CURSOR_MODE = "appcursormode",
141
- /**
142
- * 玩家列表 .
143
- */
144
- PLAYER_LIST = "playerlist",
145
- /**
146
- * 视频连接状态
147
- */
148
- PEERSTATUS_REPORT = "peerstatusreport",
149
- /**
150
- * 云端应用请求输入文字 .
151
- */
152
- APP_REQUEST_INPUT = "apprequestinput",
153
- /**
154
- * 云端应用请求手柄震动
155
- */
156
- APP_REQUEST_GAMEPAD_OUPUT = "apprequestgamepadoutput",
157
- /**
158
- * 截图成功.
159
- */
160
- CAPTURE_FRAME = "captureframe",
161
- /**
162
- * 数据通道打开 .
163
- */
164
- DATACHANNEL_OPEN = "datachannelopen",
165
- /**
166
- * 数据通道关闭 .
167
- */
168
- DATACHANNEL_CLOSE = "datachannelclose",
169
- /**
170
- * 数据通达收到文字消息 .
171
- * > V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
172
- */
173
- DATACHANNEL_TEXT = "datachanneltext",
174
- /**
175
- * 数据通道收到字节消息 .
176
- */
177
- DATACHANNEL_BINARY = "datachannelbinary",
178
- /**
179
- * 更详细的事件状态,主要用于向iframe外部抛出 .
180
- */
181
- LarkEvent = "larkevent",
182
- /**
183
- * 发生错误时抛出
184
- * type: error
185
- * message: 错误消息
186
- * code: 可能的错误码如下, 错误码的具体定义 @see [./event_codes]
187
- * // 连接服务器的websocket代理关闭
188
- * LK_RENDER_SERVER_CLOSE : 102
189
- * // 连接代理服务器的websocket关闭
190
- * LK_PROXY_SERVER_CLOSE : 202
191
- * // 检测版本失败,服务器和客户端的版本匹配。目前只有3.1和3.2大版本不匹配情况
192
- * LK_VERSION_CHECK_FAILED : 301
193
- * // 服务器返回创建Task失败
194
- * TASK_NOTFOUND-TASK_NO_GPU_RESOURCE : 401-404
195
- * // 服务端启动流媒体失败
196
- * LK_START_STREAM_PROCESS_START-FAILED-LK_START_STREAM_ENCODER_ERROR : 501-504
197
- * // RTC 连接关闭
198
- * LK_RTC_EVENT_PEERCONNECTION_CLOSED : 601
199
- * // RTC 连接出错
200
- * LK_RTC_EVENT_PEERCONNECTION_ERROR : 602
201
- * // RTC 创建出错,一般为 浏览器不支持 webrtc
202
- * LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED : 603
203
- * // 服务器主动要求客户端退出
204
- * LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT : 800
205
- * // 一人操作多人看房主退出
206
- * LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT : 801
207
- *
208
- */
209
- ERROR = "error",
210
- /**
211
- * 一般信息提示
212
- */
213
- INFO = "info",
214
- /**
215
- * 语音对话的状态
216
- */
217
- AI_VOICE_STATUS = "aivoicestatus",
218
- /**
219
- * 语音识别转文字的结果
220
- */
221
- AI_VOICE_ASR_RESULT = "aivoiceasrresult",
222
- /**
223
- * 对话返回的结果
224
- */
225
- AI_VOICE_DM_RESULT = "aivoicedmresult",
226
- /**
227
- * 对话出错详细信息
228
- */
229
- AI_VOICE_ERROR = "aivoiceerror",
230
- /**
231
- * 服务端 3.2.7.0 添加
232
- *
233
- */
234
- TOUCH_CTR_MAPPING = "touchctrmapping",
235
- /**
236
- * 服务端 3.2.7.0 添加
237
- * rtmp 直播推流状态
238
- */
239
- RTMP_STREAM_STATE = "rtmpstreamstate",
240
- /**
241
- * 服务端 3.2.7.0 添加
242
- * rtmp 直播推流出错
243
- */
244
- RTMP_STREAM_ERROR = "rtmpstreamerror"
245
- }
246
- /**
247
- * LarkSR 发出的事件
248
- */
249
- interface LarkSREvent extends LocalEvent<LarkSRClientEvent> {
250
- data?: any;
251
- message?: string;
252
- code?: number;
253
- larkevent?: LarkEventType;
254
- rawData?: any;
255
- }
256
- declare type PublicPortMapping = {
257
- [key: string]: string;
258
- };
259
- /**
260
- * 构造 LarkSR 参数
261
- */
262
- interface ILarkSRConfig {
263
- /**
264
- * 必选项 根元素。组件会挂载到跟元素下面
265
- * 注意*不要*设置为 document.documentElement
266
- * 默认模式下会通过旋转根元素实现强制横屏模式。
267
- * @see handleRootElementSize
268
- * @see scaleMode
269
- */
270
- rootElement: HTMLElement;
271
- /**
272
- * 可选项 服务器地址. LarkServer 前台访问的地址
273
- * 如: http://192.168.0.55:8181/
274
- * 当使用托管服务时服务器地址自动分配,可留空。
275
- * 使用托管服务时@see CreateLarkSRClientFromePXYHost @see larksr.connectWithPxyHost
276
- */
277
- serverAddress?: string;
278
- /**
279
- * 可选项。 sdk 授权码。如果不在此处填,则必须在后续的实例里调用 initSDKAuthCode 初始化。
280
- */
281
- authCode?: string;
282
- /**
283
- * 可选项,授权是否成功
284
- * @deprecated 目前不会回调该参数。如果SDK验证失败将在 connect 返回失败
285
- */
286
- authCodeCallback?: (isSuccess: boolean, e: any) => void;
287
- /**
288
- * 可选项,载入时的背景图片 url
289
- */
290
- loadingBgUrl?: string;
291
- /**
292
- * 可选项,是否同步传入根的组件的大小样式。
293
- * 默认开启,将跟组件大小设置为浏览器视口大小
294
- * 如果关闭,内部组件将按照传入的根元素大小去显示
295
- * 注意,当关闭时不会自动填充根元素,如果根元素高度为 0 将显示不出来。
296
- * 注意,当关闭时 mobileForceLandscape 将失去作用。
297
- */
298
- handleRootElementSize?: boolean;
299
- /**
300
- * 同 handleRootElementSize
301
- */
302
- handelRootElementSize?: boolean;
303
- /**
304
- * 是否只设置根的组件的旋转。只当 handleRootElementSize 为 true 时有效。设置根组件的旋转用于 mobileForceLandscape 模式。
305
- * 默认为false,此时 SDK 会设置根组件的宽高,margin 0,padding 0
306
- * 为true并且handleRootElementSize也为true时,只设置根组件的旋转属性,用于强制横屏模式以及强制横屏竖屏的切换。
307
- * 要注意onlyHandleRootElementTransform开启成功时,要保证根节点的元素大小并且当根节点变化时应调用 resize 方法通知更新根节点的大小。
308
- */
309
- onlyHandleRootElementTransform?: boolean;
310
- /**
311
- * 是否在sdk内部监听鼠标键盘等输入事件
312
- * 如果关闭需要手动发送输入事件
313
- * 注意关闭时全屏模式和锁定模式将失效,需要在sdk外部触发
314
- * @see fullScreenMode
315
- */
316
- handlInput?: boolean;
317
- /**
318
- * 当视频播自动放失败时是否尝试静音播放,静音播放时将抛出事件
319
- * 静音播放当用户操作屏幕时将尝试播放声音
320
- */
321
- mutePlayWhenFailed?: boolean;
322
- /**
323
- * 可选项,是否是 vr 监控类型。
324
- */
325
- isMonitor?: boolean;
326
- /**
327
- * 可选项,码率
328
- */
329
- codeRate?: number;
330
- /**
331
- * 可选项,帧率
332
- */
333
- frameRate?: number;
334
- /**
335
- * 可选项,音频帧率
336
- */
337
- audioCodeRate?: number;
338
- /**
339
- * 可选项,日志级别。默认为 warn
340
- */
341
- logLevel?: 'info' | 'warn' | 'error';
342
- /**
343
- * 可选项,载入超时时间. 默认为 60s。超过该事件停止载入
344
- */
345
- loadingTimeout?: number;
346
- /**
347
- * 可选项,是否自动同步剪贴板数据
348
- */
349
- syncLocalToCloudClipboard?: boolean;
350
- /**
351
- * 可选项,优选选择的视频编码格式
352
- */
353
- preferDecoder?: 'auto' | 'vp8' | 'vp9' | 'h264' | 'h265' | 'hevc' | 'av1x';
354
- /**
355
- * 可选项,视频在容器中的缩放模式
356
- * ScaleMode: 'contain' | 'fill_clip' | 'fill_stretch'
357
- * contain: 以应用原始尺寸的缩放
358
- * fill_clip: 裁剪模式,完全填充屏幕但保留宽高比
359
- * fill_stretch: 拉伸模式,完全填充屏幕但不保留宽高比
360
- * 对应后台应用管理->应用编辑->通用高级设置->窗口初始显示方式,该配置优先级高于后台配置
361
- */
362
- scaleMode?: ScaleMode;
363
- /**
364
- * 全屏模式
365
- * 0 -》 用户手动触发
366
- * 1 -》 首次点击进入触发
367
- * 2 -》 每次点击触发
368
- * 对应后台应用管理->应用编辑->通用高级设置->全屏模式,该配置优先级高于后台配置
369
- */
370
- fullScreenMode?: number;
371
- /**
372
- * 可选项,手机端的全屏模式,值同 fullScreenMode
373
- * 对应后台应用管理->应用编辑->移动端高级设置->全屏模式,该配置优先级高于后台配置
374
- */
375
- mobileFullScreenMode?: number;
376
- /**
377
- * 可选项,手机端是否强制横屏
378
- * 对应后台应用管理->应用编辑->移动端高级设置->手机端时是否强制横屏,该配置优先级高于后台配置
379
- */
380
- mobileForceLandscape?: boolean;
381
- /**
382
- * 可选项
383
- * 初始化鼠标模式, true 锁定,false 非锁定
384
- * 对应后台应用管理->应用编辑->通用高级设置->初始化鼠标模式,该配置优先级高于后台配置
385
- */
386
- initCursorMode?: boolean;
387
- /**
388
- * 可选项
389
- * 渲染服务器外网端口映射
390
- * 格式为 key=[渲染服务器IP:PORT] value=[外网IP:PORT]
391
- * {
392
- * "RENDER-A-IP:RENDER-A-PORT1": "PUBLIC-A-IP:PORT1",
393
- * "RENDER-B-IP:RENDER-B-PORT1": "PUBLIC-A-IP:PORT2",
394
- * "RENDER-C-IP:RENDER-C-PORT1": "PUBLIC-A-IP:PORT3",
395
- * "RENDER-D-IP:RENDER-D-PORT1": "PUBLIC-B-IP:PORT1",
396
- * "RENDER-E-IP:RENDER-E-PORT1": "PUBLIC-B-IP:PORT2",
397
- * "RENDER-E-IP:RENDER-E-PORT2": "PUBLIC-C-IP:PORT1",
398
- * }
399
- */
400
- publicPortMapping?: PublicPortMapping;
401
- /**
402
- * 可选项
403
- * 是否提示输入文字 APP_REQUEST_INPUT
404
- * 当服务端检测到输入法事件后会抛出事件,可在 web 层添加输入框,配合 inputText 发送文字到云端
405
- * 默认打开,当手动关闭时将不会抛出 APP_REQUEST_INPUT 事件
406
- */
407
- textInputEventPrompt?: boolean;
408
- /**
409
- * 可选项
410
- * 当启用音频输入功能,是否自动连入音频设备。
411
- * 默认关闭。
412
- * 需要注意默认打开的是系统中默认的音频设备。
413
- */
414
- audioInputAutoStart?: boolean;
415
- /**
416
- * 可选项
417
- * 当启用视频输入功能,是否自动连入视频设备。
418
- * 默认关闭。
419
- * 需要注意默认打开的是系统中默认的视频设备。
420
- */
421
- videoInputAutoStart?: boolean;
422
- /**
423
- * 可选项
424
- * mouseZoomDirection
425
- * 用于移动端捏合缩放操作与应用鼠标缩放的对应关系
426
- * 1:鼠标滚轮向上为放大,
427
- * 0:鼠标滚轮向下为放大(default)
428
- */
429
- mouseZoomDirection?: number;
430
- /**
431
- * 可选项
432
- * 触摸指令,移动端的触摸指令对应为云端的触屏还是鼠标
433
- * 'touchScreen' | 'mouse'
434
- * 触摸指令模式,对应后台应用管理->应用编辑->移动端高级设置->触摸指令模式 优先级高于后台配置
435
- */
436
- touchOperateMode?: 'touchScreen' | 'mouse';
437
- /**
438
- * 可选项
439
- * 优先使用渲染服务器点对点连接外网ip
440
- * 如果配置将覆盖后台设置的 preferPublicIp 参数
441
- */
442
- preferPublicIp?: string;
443
- /**
444
- * 可选项
445
- * 是否自动播放。默认开启。
446
- * 如果关闭,连接成功之后会有提示UI,用户手动触发。
447
- * 开启自动播放时也不能保证所有浏览器自动播放成功,当播放失败或者浏览器不支持自动播放时,
448
- * 也会显示播放按钮,用户点击播放按钮手动播放。
449
- */
450
- autoPlay?: boolean;
451
- /**
452
- * 可选项
453
- * 在播放失败或者手动播放模式下是否显示播放的按钮。
454
- * 默认开启。要注意,如果关闭情况下要添加好提示或UI,引导用户点击播放。
455
- * UI中要让用户触发 larksr.videoComponent.playVideo();
456
- */
457
- showPlayButton?: boolean;
458
- /**
459
- * 可选项
460
- * 语言设置,目前只支持种英文两种,默认中文
461
- * zh-CN 中文 en 英文
462
- */
463
- language?: string;
464
- /**
465
- * 点对点连接成功,但未接收到视频流或未播放成功超时时间。自动播放模式下超时会弹出提示按钮。
466
- * 默认 20S
467
- */
468
- playTimeout?: number;
469
- /**
470
- * 是否使用新版摄像头/麦克风协议
471
- * 单独上传流程要求渲染服务器版本大于3290)
472
- */
473
- useSeparateMediaSharePeer?: boolean;
474
- }
475
- declare class LarkSR extends EventBase<LarkSRClientEvent, LarkSREvent> {
476
- /**
477
- * 应用参数,构建时传入
478
- */
479
- get params(): AppliParams;
480
- private _params;
481
- /**
482
- * 当前的玩家模式,
483
- */
484
- get playerModeType(): PlayerModeType;
485
- /**
486
- * 用户类型
487
- * @see UserType
488
- */
489
- get userType(): UserType;
490
- /**
491
- * 是否是观看者模式
492
- */
493
- get isObMode(): boolean;
494
- /**
495
- * 当前是否是交互模式,交互默认即可以操作的模式
496
- */
497
- get isInteractiveMode(): boolean;
498
- get isPixelStreaming(): boolean;
499
- /**
500
- * 当前 app 的状态
501
- */
502
- get appState(): APP_STATE;
503
- get app(): Application;
504
- private _app;
505
- /**
506
- * 云端画面是否准备好,准备好后才可以发送输入事件
507
- */
508
- get remoteScreenReady(): boolean;
509
- set remoteScreenReady(ready: boolean);
510
- private _remoteScreenReady;
511
- /**
512
- * 当前的屏幕状态
513
- * @see ScreenState
514
- */
515
- get screenState(): ScreenState;
516
- private _screenState;
517
- /**
518
- * 动态设置scalemode
519
- */
520
- set scaleMode(scaleMode: ScaleMode);
521
- get mouseZoomDirection(): number;
522
- /**
523
- * 动态设置滚轮和缩放手势对应关系
524
- */
525
- set mouseZoomDirection(direction: number);
526
- /**
527
- * 当前的输入控制
528
- * @see Operation
529
- */
530
- get op(): Operation;
531
- private _op;
532
- /**
533
- * 像素流送输入控制
534
- */
535
- private pixelInput;
536
- private iframeHandler;
537
- get fullScreen(): FullScreen;
538
- private _fullScreen;
539
- get lockPointer(): LockPointer;
540
- private _lockPointer;
541
- private _view;
542
- /**
543
- * 视频元素
544
- */
545
- get videoElement(): HTMLVideoElement;
546
- /**
547
- * 视频显示组件
548
- */
549
- get videoComponent(): any;
550
- /**
551
- * 音频元素
552
- */
553
- get audioElement(): HTMLAudioElement;
554
- /**
555
- * 是否有单独的音频流
556
- */
557
- get isSeprateAudioTrack(): any;
558
- /**
559
- * 视频显示组件的父容器
560
- */
561
- get containerElement(): any;
562
- /**
563
- *
564
- */
565
- get viewportElement(): any;
566
- /**
567
- * 是否显示移动端触摸点
568
- */
569
- set isEnableTouchPonit(enable: boolean);
570
- set isEnableTouchPoint(enable: boolean);
571
- /**
572
- * 设置是否使用canvas渲染画面。
573
- * iOS/Mac下默认开启.在 iOS/Mac下关闭canvas渲染可能导致样式问题异常显示。
574
- */
575
- set enableCanvasRender(enable: boolean);
576
- /**
577
- * 获取是否使用canvas渲染画面。
578
- * iOS/Mac下默认开启.在 iOS/Mac下关闭canvas渲染可能导致样式问题异常显示。
579
- */
580
- get enableCanvasRender(): boolean;
581
- /**
582
- * 虚拟鼠标的当前位置,相对于整体容器
583
- */
584
- get virtualCursorPosition(): {
585
- x: any;
586
- y: any;
587
- };
588
- /**
589
- * 虚拟鼠标的当前位置,内部缩放容器,与实际显示虚拟鼠标 CSS 样式相同
590
- */
591
- get virtualCursorPositionRaw(): {
592
- x: any;
593
- y: any;
594
- };
595
- /**
596
- * 是否显示载入画面时底部文字
597
- */
598
- set isEnableLoadingStateBar(enable: boolean);
599
- get rootElement(): HTMLElement;
600
- private _rootElement;
601
- get serverAddress(): string;
602
- get serverIp(): string;
603
- get config(): ILarkSRConfig;
604
- private _config;
605
- private loadingTimeout;
606
- /**
607
- * 后台分配的用户id
608
- */
609
- get uid(): number;
610
- private _uid;
611
- /**
612
- * 云端应用是否是预启动状态
613
- */
614
- get isPreStart(): boolean;
615
- private _isPreStart;
616
- /**
617
- * @returns 是否是 Task的拥有者
618
- */
619
- isTaskOwner(): boolean;
620
- _isTaskOwner: boolean;
621
- /**
622
- * true:锁定模式 false:非锁定模式
623
- */
624
- set initCursorMode(mode: boolean);
625
- get initCursorMode(): boolean;
626
- /**
627
- * 当前打开的音频设备 ID,如果打开时没指定为空
628
- */
629
- get audioDeviceId(): string | null | undefined;
630
- /**
631
- * 当前打开音频的track对象,未打开状态为空
632
- */
633
- get audioTrack(): MediaStreamTrack | null | undefined;
634
- /**
635
- * 当前打开视频设备 ID,如果打开时没指定特设备id为空
636
- */
637
- get videoDeviceId(): string | null | undefined;
638
- /**
639
- * 当前打开视频track对象,未打开状态为空
640
- */
641
- get videoTrack(): MediaStreamTrack | null | undefined;
642
- /**
643
- * 音频通道是否暂停
644
- */
645
- get audioPaused(): boolean | undefined;
646
- /**
647
- * 视频通道是否暂停
648
- */
649
- get videoPaused(): boolean | undefined;
650
- /**
651
- * LarkSR 客户端。所有操作和事件通过该类传递
652
- * @param config 本地配置,优先级最高
653
- */
654
- constructor(config: ILarkSRConfig);
655
- /**
656
- * 单独设置服务器地址,作用同 config 中的 serverAddress 字段
657
- * 在进入应用之前都可以更新。
658
- * @param serverAddress 服务器地址,如 http://192.168.0.55:8181/
659
- */
660
- updateServerAddress(serverAddress: string): void;
661
- /**
662
- * 单独设置sdk授权码,目前总会返回成功 promise,具体验证失败将在 connectWithPxyHost 或 connect 返回
663
- * @param id sdk id 初始化sdkid
664
- * @returns
665
- */
666
- initSDKAuthCode(id: string): Promise<void>;
667
- /**
668
- * 使用平行云托管平台时,使用 connectWithPxyHost 连接云端应用
669
- * 托管平台 https://www.pingxingyun.com/console/#/
670
- * @param params 同 connect 方法
671
- * @return 同 connect 方法
672
- */
673
- connectWithPxyHost(params: {
674
- appliId: string;
675
- playerMode?: number;
676
- userType?: number;
677
- roomCode?: string;
678
- taskId?: string;
679
- regionId?: string;
680
- groupId?: string;
681
- }): Promise<void>;
682
- /**
683
- * 连接云端渲染资源
684
- * @params appID 云端资源的 ID
685
- * @returns Promise 调用接口并校验授权通过返回成功并自动开始连接
686
- * Promise 返回的错误对象:
687
- * {
688
- // type 0 渲染资源不足导致的错误,1 其他错误, 可用 type == 0 判断是否是渲染资源不足类型的错误
689
- type: 0,
690
-
691
- // 渲染资源不足时的事件类型,其他情况可能不返回,比如网络错误
692
- eventType?:LarkSRClientEvent.RESOURCE_NOT_ENOUGH,
693
-
694
- // 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
695
- // 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
696
- // 813=当前应用的运行数量已达到最大值:{0},请稍后再试
697
- // 814=同一appKey下的应用运行数量达到最大值:{0},请稍后再试
698
- // 815=应用运行数量已达到最大授权并发数量,请稍后再试
699
- // 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
700
- // 817=渲染资源不足,请稍后再试
701
- // 820=暂无活跃的GPU节点
702
- // 821=节点资源使用率已达到设置的阈值
703
- // 823=单节点运行应用数量已达到单节点最大授权并发数量,请稍后再试
704
- code?: 817,
705
-
706
- // 错误信息
707
- message:? "",
708
- }
709
- *
710
- */
711
- connect(params: {
712
- appliId: string;
713
- playerMode?: number;
714
- userType?: number;
715
- roomCode?: string;
716
- taskId?: string;
717
- clientMac?: string;
718
- groupId?: string;
719
- regionId?: string;
720
- targetServerIp?: string;
721
- appKey?: string;
722
- timestamp?: string;
723
- signature?: string;
724
- } | any): Promise<void>;
725
- /**
726
- * 用户手动填昵称,需要在 start 或 connect 之前设置才能生效。
727
- */
728
- setNickname(nickname: string): void;
729
- /**
730
- * 手动重设进入应用参数
731
- * @param params
732
- */
733
- setAppliParams(params: IAppliParams): void;
734
- /**
735
- * 开始云渲染流程
736
- * 启动时应用参数不能为空,包括 taskID,appServer,appPort
737
- * @returns 是否成功。主要校验授权码是否成功
738
- */
739
- start(): Promise<void>;
740
- /**
741
- * 重新开始云渲染流程
742
- */
743
- restart(): void;
744
- /**
745
- * 重新启动云端应用
746
- */
747
- restartApp(): void;
748
- /**
749
- * 主动关闭连接
750
- */
751
- close(): void;
752
- /**
753
- * 从DOM种删除渲染组件,注意删除渲染组件之后将无法再次进入应用,所有状态将失效,不可恢复,只能重新new LarkSR
754
- */
755
- destroy(): void;
756
- /**
757
- * 设置是否强制横屏显示内容.
758
- * handleRootElementSize 必须设置为 true 才有作用。
759
- * 要注意强制横屏模式下网页的坐标系xy和视觉上相反,如果通过外部输入 input 事件。要注意调整
760
- * @param force 是否强制横屏
761
- */
762
- setMobileForceLandScape(force: boolean): void;
763
- /**
764
- * 切换当前操作者
765
- * @param uid 用户id
766
- */
767
- changeOperater(uid: number): void;
768
- /**
769
- * 向云端应用发送文字。当云端应用出现输入框时,可以将本地文本填写进去.
770
- * @param text 文字
771
- */
772
- inputText(text: string): void;
773
- /**
774
- * 开始智能语音对话文本输入
775
- * 应在只能语音为开始状态下开始输入
776
- * @param text 输入的文本
777
- * @returns 返回对话 ID
778
- */
779
- aiDmTextInput(text: string): number;
780
- /**
781
- * 开始智能语音对话语音输入,自动请求录音权限
782
- * 应在只能语音为开始状态下开始输入
783
- * @returns 成功返回对话id,失败返回异常
784
- */
785
- startAiDmVoiceInput(): Promise<number>;
786
- /**
787
- * 停止智能语音输入,通知语音引擎当前用户输入对话结束
788
- * @returns 返回当前对话的id
789
- */
790
- stopAiDmVoiceInput(): number;
791
- /**
792
- * 发送文字消息给数据通道
793
- * 注意 云端应用要继承数据通道功能
794
- * > V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
795
- * @param text 文字
796
- */
797
- sendTextToDataChannel(text: string): void;
798
- /**
799
- * 发送字节消息给数据通道
800
- * 注意 云端应用要继承数据通道功能
801
- * @param binary 字节消息
802
- */
803
- sendBinaryToDataChannel(binary: Uint8Array): void;
804
- /**
805
- * 手动向iframe外抛出事件
806
- * 注意一般只在用 iframe 二次集成时才用到
807
- * @param type
808
- * @param data
809
- * @param msg
810
- */
811
- postMsg(type: LarkEventType, data?: any, msg?: string): void;
812
- /**
813
- * 退出当前页面
814
- * 注意如果是微信内会调用 WeixinJSBridge 的 close window 方法
815
- * 可以不使用该方法退出页面
816
- */
817
- quit(): void;
818
- resetAppMouseLockState(): void;
819
- /**
820
- * 采集一帧图像
821
- * @params data: any 抛出采集事件时抛出的附加data,比如采集的时间戳
822
- * @params option: { width: number, height: number } 截图的宽高,如果未设置则使用云端应用窗口的宽高
823
- * @return { data: any, base64: base64string } 返回传入的 data 和采集的 base64 字符串
824
- */
825
- captrueFrame(data: any, option?: {
826
- width: number;
827
- height: number;
828
- } | null | undefined): {
829
- data: any;
830
- base64: any;
831
- };
832
- /**
833
- * 操作相关事件
834
- * 所有事件坐标相对于云端应用,不相对于网页
835
- * CloudLark.IClientInput 是所有操作指令接口对象的合集
836
- * 可以单独使用下面 moseMove 等接口
837
- * @param input 操作指令
838
- */
839
- sendInput(input: CloudLark.IClientInput): void;
840
- /**
841
- * 向云端发送鼠标移动事件
842
- * 事件坐标相对于云端应用,不相对于网页
843
- * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
844
- * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
845
- * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
846
- *
847
- * @param PosX 相对云端鼠标 X 点坐标
848
- * @param PosY 相对云端鼠标 Y 点坐标
849
- * @param DeltaX 相对云端鼠标 X 轴移动距离
850
- * @param DeltaY 相对云端鼠标 X 轴移动距离
851
- */
852
- mouseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
853
- /**
854
- * 向云端发送鼠标移动事件
855
- * 事件坐标相对于云端应用,不相对于网页
856
- * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
857
- * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
858
- * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
859
- *
860
- * @param PosX 相对云端鼠标 X 点坐标
861
- * @param PosY 相对云端鼠标 Y 点坐标
862
- * @param DeltaX 相对云端鼠标 X 轴移动距离
863
- * @param DeltaY 相对云端鼠标 X 轴移动距离
864
- */
865
- moseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
866
- /**
867
- * 向云端发送鼠标单击事件
868
- * X Y 坐标计算方式同 mouseMove
869
- *
870
- * @param PosX 相对云端鼠标 X 点坐标
871
- * @param PosY 相对云端鼠标 Y 点坐标
872
- * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
873
- */
874
- mouseTap(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
875
- /**
876
- * 向云端发送鼠标按下事件
877
- * X Y 坐标计算方式同 mouseMove
878
- *
879
- * @param PosX 相对云端鼠标 X 点坐标
880
- * @param PosY 相对云端鼠标 Y 点坐标
881
- * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
882
- */
883
- mouseDown(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
884
- /**
885
- * 向云端发送鼠标抬起事件
886
- * X Y 坐标计算方式同 mouseMove
887
- *
888
- * @param PosX 相对云端鼠标 X 点坐标
889
- * @param PosY 相对云端鼠标 Y 点坐标
890
- * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
891
- */
892
- mouseUp(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
893
- /**
894
- * 向云端发送鼠标滚轮事件
895
- * X Y 坐标计算方式同 mouseMove
896
- *
897
- * @param PosX 相对云端鼠标 X 点坐标
898
- * @param PosY 相对云端鼠标 Y 点坐标
899
- * @param Delata 120/-120 鼠标滚轮滚动的数值
900
- */
901
- mouseWheel(PosX: number, PosY: number, Delata: number): void;
902
- /**
903
- * 向云端发送键盘按键按下事件
904
- * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
905
- * @param isRepeat KeyboardEvent.repeat 字段,参考https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
906
- * @returns 是否发送成功,如果key参数传递错误可能发送失败
907
- */
908
- keyDown(key: string, isRepeat: boolean): void;
909
- /**
910
- * 向云端发送键盘按键抬起事件
911
- * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
912
- * @returns 是否发送成功,如果key参数传递错误可能发送失败
913
- */
914
- keyUp(key: string): void;
915
- /**
916
- * 手柄接口消息按照 windows xbox 360 手柄标准定义,即包含 xbox 360 手柄的功能,如按钮,摇杆,扳机键。windows 上最多支持4个手柄,
917
- * 当前版本服务端只处理1个手柄,后续会放开多个手柄的支持。接口中发送的按键值为对应的 windows 中定义的按键值。
918
- * 向云端发送手柄按钮按下事件
919
- * 參考 js 中获取手柄事件,参考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
920
- * @param userIndex 手柄的索引,硬件设备索引 0-3. 第一个连接的手柄为0,第二个为1,以此类推。
921
- * @param button 按鍵 @see https://docs.microsoft.com/en-us/windows/win32/api/xinput/ns-xinput-xinput_gamepad
922
- * export const enum XINPUT_BUTTONS {
923
- * XINPUT_GAMEPAD_DPAD_UP = 0x0001,
924
- * XINPUT_GAMEPAD_DPAD_DOWN = 0x0002,
925
- * XINPUT_GAMEPAD_DPAD_LEFT = 0x0004,
926
- * XINPUT_GAMEPAD_DPAD_RIGHT = 0x0008,
927
- * XINPUT_GAMEPAD_START = 0x0010,
928
- * XINPUT_GAMEPAD_BACK = 0x0020,
929
- * XINPUT_GAMEPAD_LEFT_THUMB = 0x0040,
930
- * XINPUT_GAMEPAD_RIGHT_THUMB = 0x0080,
931
- * XINPUT_GAMEPAD_LEFT_SHOULDER = 0x0100,
932
- * XINPUT_GAMEPAD_RIGHT_SHOULDER = 0x0200,
933
- * XINPUT_GAMEPAD_A = 0x1000,
934
- * XINPUT_GAMEPAD_B = 0x2000,
935
- * XINPUT_GAMEPAD_X = 0x4000,
936
- * XINPUT_GAMEPAD_Y = 0x8000,
937
- * XINPUT_UNKNOWN = -1,
938
- * }
939
- * @param isRepeat 是否重复按下
940
- * @returns
941
- */
942
- gamepadButtonDown(userIndex: number, button: number, isRepeat: boolean): void;
943
- /**
944
- * 向云端发送手柄按钮抬起事件
945
- * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
946
- * @param userIndex 手柄的索引
947
- * @param button 按鍵
948
- * @returns
949
- */
950
- gamepadButtonUp(userIndex: number, button: number): void;
951
- /**
952
- * 向云端发送手柄按trigger键事件
953
- * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
954
- * @param userIndex 手柄的索引
955
- * @param isleft 是否是左trigger
956
- * @param value trigger的值 扳机键的值 0-255
957
- * @returns
958
- */
959
- gamepadTrigger(userIndex: number, isleft: boolean, value: number): void;
960
- /**
961
- * 向云端发送手柄按摇杆的值,即 axes 值
962
- * win MAX
963
- * |
964
- * MIN-------------MAX
965
- * |
966
- * MIN
967
- * js 中获取硬件手柄參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
968
- * @param userIndex 手柄的索引
969
- * @param thumblx 左摇杆 X 值,-32767 到 32767
970
- * @param thumbly 左摇杆 Y 值,-32767 到 32767
971
- * @param thumbrx 右摇杆 X 值,-32767 到 32767
972
- * @param thumbry 右摇杆 Y 值,-32767 到 32767
973
- * @returns
974
- */
975
- joystick(userIndex: number, thumblx: number, thumbly: number, thumbrx: number, thumbry: number): void;
976
- /**
977
- * 向云端发送触摸按下事件
978
- * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
979
- * @param id 手指的id,当前触摸事件按下手指的 id,同一个手指 id 相同。id 应每次触摸增加。即 touchdown 时 +1,
980
- * touch move 和 touch up 时保持。当前手指未离开,又有新的手指 touchdown 时再 +1 获得新的 id
981
- * @param x 相对云端的x轴坐标
982
- * @param y 相对云端的y轴坐标
983
- * @returns
984
- */
985
- touchDown(id: number, x: number, y: number): void;
986
- /**
987
- * 向云端发送触摸移动事件
988
- * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
989
- * @param id 手指的id
990
- * @param x 相对云端的x轴坐标
991
- * @param y 相对云端的y轴坐标
992
- * @returns
993
- */
994
- touchMove(id: number, x: number, y: number): void;
995
- /**
996
- * 向云端发送触摸抬起事件
997
- * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
998
- * @param id 手指的id
999
- * @param x 相对云端的x轴坐标
1000
- * @param y 相对云端的y轴坐标
1001
- * @returns
1002
- */
1003
- touchUp(id: number, x: number, y: number): void;
1004
- /**
1005
- * 字符串转换为输入的鼠标按键值
1006
- * @param button 'left' | 'mid' | 'right'
1007
- * @returns LEFT = 0,RIGHT = 1,MIDDLE = 2
1008
- */
1009
- getMouseButtonType(button: 'left' | 'mid' | 'right'): CloudLark.MouseKey;
1010
- /**
1011
- * 媒体采集相关
1012
- */
1013
- /**
1014
- * 设置当前已开启的音频track是否启用状态
1015
- * @param enable 是否启用
1016
- * @returns
1017
- */
1018
- setAudioEnable(enable: boolean): any;
1019
- /**
1020
- * 设置当前已开启的视频track是否启用状态
1021
- * @param enable 是否启用
1022
- * @returns
1023
- */
1024
- setVideoEnable(enable: boolean): any;
1025
- setShareEnable(enable: boolean): any;
1026
- /**
1027
- * 停止本地音频轨道
1028
- * @returns
1029
- */
1030
- stopLocalAudio(): any;
1031
- /**
1032
- * 停止本地已打开的视频轨道
1033
- * @returns
1034
- */
1035
- stopLocalVideo(): any;
1036
- /**
1037
- * 停止本地共享轨道
1038
- * @returns
1039
- */
1040
- stopLocalShare(): any;
1041
- /**
1042
- * 暂停发送音频
1043
- * @returns
1044
- */
1045
- pauseAudioSending(): any;
1046
- /**
1047
- * 恢复发送音频
1048
- * @returns
1049
- */
1050
- resumeAudioSending(): any;
1051
- /**
1052
- * 暂停发送视频
1053
- * @returns
1054
- */
1055
- pauseVideoSending(): any;
1056
- /**
1057
- * 恢复发送视频
1058
- * @returns
1059
- */
1060
- resumeVideoSending(): any;
1061
- /**
1062
- * 关闭当前的音频设备
1063
- * @returns
1064
- */
1065
- closeAudio(): any;
1066
- /**
1067
- * 关闭当前已打开的视频设备
1068
- * @returns
1069
- */
1070
- closeVideo(): any;
1071
- /**
1072
- * 关闭当前已打开的共享设备如共享的标签页等
1073
- * @returns
1074
- */
1075
- closeShare(): any;
1076
- /**
1077
- * 关闭整个媒体上传连接。再次使用时重新打开。
1078
- * @returns
1079
- */
1080
- closeMediaChannel(): void;
1081
- /**
1082
- * 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
1083
- * @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
1084
- * @returns Promise
1085
- */
1086
- openAudio(deviceId?: string): Promise<any>;
1087
- /**
1088
- * 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
1089
- * @param audio boolean 是否同时开启音频
1090
- * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
1091
- * @returns Promise
1092
- */
1093
- openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<any>;
1094
- /**
1095
- * 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
1096
- * 如果需要指定特殊的媒体设备请单独使用 @see openAudio @see openVideo
1097
- * @param video 是否包含视频
1098
- * @param audio 是否包含音频
1099
- * @returns Promise
1100
- */
1101
- openDefaultMedia(video?: boolean, audio?: boolean): Promise<any>;
1102
- /**
1103
- * 打开共享设备,浏览器可共享窗口,标签页等
1104
- * @returns Promise
1105
- */
1106
- openShareMediaDevice(): Promise<any>;
1107
- /**
1108
- * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
1109
- * @returns Promise<MediaDeviceInfo[]>
1110
- */
1111
- getConnectedAudioinputDevices(): Promise<any>;
1112
- getConnectedAudioOutputDevices(): Promise<any>;
1113
- /**
1114
- * 返回已连接的视频设备
1115
- * @returns Promise<MediaDeviceInfo[]>
1116
- */
1117
- getConnectedVideoinputDevices(): Promise<any>;
1118
- /**
1119
- * 获取所有连接的摄像头麦克风设备信息
1120
- * @param type *"audioinput" | "audiooutput" | "videoinput"*
1121
- * @returns Promise<MediaDeviceInfo[]>
1122
- */
1123
- getConnectedDevices(type: MediaDeviceKind): Promise<any>;
1124
- /**
1125
- * 打开麦克风设备
1126
- * @param deviceId 麦克风设备 ID, @see getConnectedAudioOutputDevices
1127
- * @param kind “audioinput”
1128
- * @returns @see this.openUserMedia
1129
- */
1130
- openAudioDevice(deviceId: string, kind?: "audioinput" | "audiooutput"): Promise<any>;
1131
- /**
1132
- * 打开摄像头设备
1133
- * @param cameraId 摄像头设备ID,@see getConnectedVideoinputDevices
1134
- * @param minWidth 限制打开设备的宽
1135
- * @param minHeight 限制打开设备的高
1136
- * @returns @see openUserMedia
1137
- */
1138
- openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<any>;
1139
- /**
1140
- * 请求浏览器打开媒体并且打开上传到服务器通道。
1141
- * 要注意的是在服务器连接成功之后请求打开
1142
- * @param constraints 参考 navigator.mediaDevices.getUserMedia(constraints)
1143
- * @param reset 是否重制媒体通道。true 的情况下重制整个 peerconnection
1144
- * @returns 打开的通道的绑定信息。管理媒体通道如关闭暂停或恢复使用。
1145
- */
1146
- openUserMedia(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
1147
- openUserMeida(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
1148
- /**
1149
- * 添加媒体轨道
1150
- * 一般情况下使用 @see openUserMedia
1151
- * @param track
1152
- * @param streams
1153
- * @returns
1154
- */
1155
- addMediaTrack(track: MediaStreamTrack, ...streams: MediaStream[]): boolean | undefined;
1156
- /**
1157
- * 移除某个媒体轨道。一般为 openUserMedia 打开的通道。
1158
- * 一般使用 @see closeVideo closeAudio 或 @see pauseAudioSending pauseVideoSending
1159
- * @param track @see openUserMedia 返回值
1160
- * @returns
1161
- */
1162
- removeMediaTrack(track: RTCRtpSender): any;
1163
- /**
1164
- * 请求媒体设备权限,相当于 navigator.mediaDevices.getUserMedia(constraints)
1165
- * @param constraints
1166
- * @returns
1167
- */
1168
- requestUserMediaPermission(constraints?: MediaStreamConstraints): any;
1169
- /**
1170
- * 启动云端推流功能
1171
- * @param params {
1172
- * // rtmp push url 必须填
1173
- * path: "",
1174
- * //rtmp push key
1175
- * key: "",
1176
- * // 推流的宽
1177
- * width: 1280,
1178
- * // 推流的高
1179
- * height: 720,
1180
- * framerate: 30,
1181
- * // kbps
1182
- * bitrate: 1024 * 2,
1183
- * // 是否支持断线重连
1184
- * reconnect: true,
1185
- * //最大重连次数
1186
- * reconnectRetries: 3,
1187
- * //是否串流麦克风(语音输入支持的情况)
1188
- * voice: audioInput,
1189
- * }
1190
- * @returns Promise
1191
- */
1192
- StartCloudLiveStreaming(params: CloudLark.IRtmp_Start): Promise<void> | undefined;
1193
- /**
1194
- * 关闭云端推流功能
1195
- * @returns
1196
- */
1197
- StopLiveStreaming(): void | undefined;
1198
- /**
1199
- * 获取当前服务器应用手柄配置
1200
- * @param appliId 应用id,传空为当前应用
1201
- * @returns
1202
- */
1203
- getTouchCtrMapping(appliId?: string): Promise<unknown>;
1204
- $emit(type: LarkEventType, data?: any, message?: string): void;
1205
- $emitError(message?: string, code?: number): void;
1206
- $emitInfo(message?: string, code?: number): void;
1207
- private createEvent;
1208
- private setupListener;
1209
- private taskProcess;
1210
- private startProcess;
1211
- private onAppStateChange;
1212
- private onGotRemoteStream;
1213
- private onGotRemoteAudioStream;
1214
- private onCursorStyle;
1215
- private onAppResize;
1216
- private onAppMouseMode;
1217
- private onAppPlayerList;
1218
- private onAppRequestText;
1219
- private onDataChannelText;
1220
- private onDataChannelBinary;
1221
- private onDataChannelOpen;
1222
- private onDataChannelClose;
1223
- private onOperationTimeout;
1224
- private onOperationInput;
1225
- }
1226
- export { LarkSR, ILarkSRConfig, PlayerModeType, UserType, LarkSREvent, LarkEventType, LarkSRClientEvent, AppliParams, AppliParamsUtils, LoadAppliParamsFromUrl, LoadAppliParamsStartAppInfo, EventBase, API, Operation, Capabilities, ScaleMode, VirtualKey, KEYMAP, CloudLark, FullScreen, LockPointer, Recorder, GESTURE_TYPE, };