larksr_websdk 3.2.323 → 3.2.326

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 (67) hide show
  1. package/dist/doc/config.md +169 -0
  2. package/dist/doc/events.md +149 -0
  3. package/dist/doc/functions.md +465 -0
  4. package/dist/doc/index.md +82 -0
  5. package/dist/doc/member_variables.md +385 -0
  6. package/dist/doc/sdkid_encryption.md +40 -0
  7. package/dist/doc/update.md +266 -0
  8. package/dist/larksr-web-sdk.min.js +1 -1
  9. package/dist/types/api.d.ts +131 -0
  10. package/dist/types/appli_params.d.ts +291 -0
  11. package/dist/types/common/cmd.d.ts +28 -0
  12. package/dist/types/common/constant.d.ts +4 -0
  13. package/dist/types/common/interface.d.ts +30 -0
  14. package/dist/types/config.d.ts +59 -0
  15. package/dist/types/event/event_base.d.ts +11 -0
  16. package/dist/types/event/iframe_poster.d.ts +9 -0
  17. package/dist/types/index.d.ts +23 -0
  18. package/dist/types/lark/Worker.d.ts +0 -0
  19. package/dist/types/lark/application.d.ts +185 -0
  20. package/dist/types/lark/custom.d.ts +7 -0
  21. package/dist/types/lark/ice_candiadate_parser.d.ts +24 -0
  22. package/dist/types/lark/lark_event_type.d.ts +113 -0
  23. package/dist/types/lark/message.d.ts +20 -0
  24. package/dist/types/lark/peer_connection.d.ts +178 -0
  25. package/dist/types/lark/recoder.d.ts +55 -0
  26. package/dist/types/lark/sdp_util.d.ts +36 -0
  27. package/dist/types/lark/test_pixel_streaming.d.ts +54 -0
  28. package/dist/types/lark/websocket_channel.d.ts +56 -0
  29. package/dist/types/lark/websocket_proxy.d.ts +56 -0
  30. package/dist/types/larksr.d.ts +998 -0
  31. package/dist/types/localization/base.d.ts +8 -0
  32. package/dist/types/localization/gesture_ins.d.ts +4 -0
  33. package/dist/types/localization/language.d.ts +6 -0
  34. package/dist/types/localization/loader.d.ts +14 -0
  35. package/dist/types/localization/message.d.ts +81 -0
  36. package/dist/types/localization/ui.d.ts +58 -0
  37. package/dist/types/operation/gamepad_handler.d.ts +67 -0
  38. package/dist/types/operation/gesture.d.ts +72 -0
  39. package/dist/types/operation/gesture_handler.d.ts +53 -0
  40. package/dist/types/operation/handler_base.d.ts +8 -0
  41. package/dist/types/operation/keyboard_handler.d.ts +21 -0
  42. package/dist/types/operation/keymap.d.ts +24 -0
  43. package/dist/types/operation/letter_keymap.d.ts +8 -0
  44. package/dist/types/operation/mouse_handler.d.ts +42 -0
  45. package/dist/types/operation/num_keymap.d.ts +12 -0
  46. package/dist/types/operation/operation.d.ts +97 -0
  47. package/dist/types/operation/pixel_streaming_input.d.ts +82 -0
  48. package/dist/types/operation/touch_handler.d.ts +11 -0
  49. package/dist/types/operation/utils.d.ts +18 -0
  50. package/dist/types/protobuf/cloudlark.d.ts +7855 -0
  51. package/dist/types/screen_state.d.ts +118 -0
  52. package/dist/types/utils/browser_type.d.ts +37 -0
  53. package/dist/types/utils/capabilities.d.ts +54 -0
  54. package/dist/types/utils/full_screen.d.ts +25 -0
  55. package/dist/types/utils/ios-inner-height.d.ts +4 -0
  56. package/dist/types/utils/lock_pointer.d.ts +23 -0
  57. package/dist/types/utils/log.d.ts +25 -0
  58. package/dist/types/utils/scale_mode.d.ts +26 -0
  59. package/dist/types/utils/unit.d.ts +142 -0
  60. package/package.json +1 -1
  61. package/types/api.d.ts +5 -0
  62. package/types/appli_params.d.ts +2 -0
  63. package/types/lark/application.d.ts +7 -1
  64. package/types/lark/peer_connection.d.ts +5 -1
  65. package/types/larksr.d.ts +69 -5
  66. package/types/protobuf/cloudlark.d.ts +473 -2
  67. package/types/screen_state.d.ts +5 -3
@@ -0,0 +1,465 @@
1
+ # LarkSR 对象成员方法
2
+
3
+ LarkSR 对象成员方法主要分为以下三类
4
+
5
+ ## 控制流程方法,包括启动,关闭,重启,注册授权码等。
6
+
7
+ ```typescript
8
+ /**
9
+ *
10
+ * @param id sdk id 初始化sdkid
11
+ * @returns
12
+ */
13
+ initSDKAuthCode(id: string): Promise<void>;
14
+ /**
15
+ * 连接云端渲染资源
16
+ * @params appID 云端资源的 ID
17
+ * @returns Promise 调用接口并校验授权通过返回成功并自动开始连接
18
+ */
19
+ connect(params: {
20
+ appliId: string;
21
+ playerMode?: number;
22
+ userType?: number;
23
+ roomCode?: string;
24
+ taskId?: string;
25
+ clientMac?: string;
26
+ groupId?: string;
27
+ regionId?: string;
28
+ targetServerIp?: string;
29
+ appKey?: string;
30
+ timestamp?: string;
31
+ signature?: string;
32
+ }): Promise<void>;
33
+ /**
34
+ * 重新开始云渲染流程
35
+ */
36
+ restart(): void;
37
+ /**
38
+ * 重新启动云端应用
39
+ */
40
+ restartApp(): void;
41
+ /**
42
+ * 主动关闭连接
43
+ */
44
+ close(): void;
45
+ ```
46
+
47
+ ## 输入输出相关方法,包括鼠标,键盘,手柄,触摸
48
+
49
+ ```typescript
50
+ /**
51
+ * 切换当前操作者
52
+ * @param uid 用户id
53
+ */
54
+ changeOperater(uid: number): void;
55
+ /**
56
+ * 向云端应用发送文字。当云端应用出现输入框时,可以将本地文本填写进去.
57
+ * @param text 文字
58
+ */
59
+ inputText(text: string): void;
60
+ /**
61
+ * 操作相关事件
62
+ * 所有事件坐标相对于云端应用,不相对于网页
63
+ * CloudLark.IClientInput 是所有操作指令接口对象的合集
64
+ * 可以单独使用下面 moseMove 等接口
65
+ * @param input 操作指令
66
+ */
67
+ sendInput(input: CloudLark.IClientInput): void;
68
+ /**
69
+ * 向云端发送鼠标移动事件
70
+ * 事件坐标相对于云端应用,不相对于网页
71
+ * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
72
+ * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
73
+ * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
74
+ *
75
+ * @param PosX 相对云端鼠标 X 点坐标
76
+ * @param PosY 相对云端鼠标 Y 点坐标
77
+ * @param DeltaX 相对云端鼠标 X 轴移动距离
78
+ * @param DeltaY 相对云端鼠标 X 轴移动距离
79
+ */
80
+ mouseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
81
+ /**
82
+ * 向云端发送鼠标移动事件
83
+ * 事件坐标相对于云端应用,不相对于网页
84
+ * 计算方式可以参考 https://github.com/pingxingyun/lark_sr_websdk_demos 例子中 v_cursor.vue getVMouseTouchPosition 方法
85
+ * 原理是通过 LarkSR 对象的成员 screenState.operateScale 获取相对的缩放,
86
+ * 本地坐标 X larksr.screenState.operateScale.scaleX / scaleY 即可得到相对云端的坐标
87
+ *
88
+ * @param PosX 相对云端鼠标 X 点坐标
89
+ * @param PosY 相对云端鼠标 Y 点坐标
90
+ * @param DeltaX 相对云端鼠标 X 轴移动距离
91
+ * @param DeltaY 相对云端鼠标 X 轴移动距离
92
+ */
93
+ moseMove(PosX: number, PosY: number, DeltaX: number, DeltaY: number): void;
94
+ /**
95
+ * 向云端发送鼠标单击事件
96
+ * X Y 坐标计算方式同 mouseMove
97
+ *
98
+ * @param PosX 相对云端鼠标 X 点坐标
99
+ * @param PosY 相对云端鼠标 Y 点坐标
100
+ * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
101
+ */
102
+ mouseTap(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
103
+ /**
104
+ * 向云端发送鼠标按下事件
105
+ * X Y 坐标计算方式同 mouseMove
106
+ *
107
+ * @param PosX 相对云端鼠标 X 点坐标
108
+ * @param PosY 相对云端鼠标 Y 点坐标
109
+ * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
110
+ */
111
+ mouseDown(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
112
+ /**
113
+ * 向云端发送鼠标抬起事件
114
+ * X Y 坐标计算方式同 mouseMove
115
+ *
116
+ * @param PosX 相对云端鼠标 X 点坐标
117
+ * @param PosY 相对云端鼠标 Y 点坐标
118
+ * @param key LEFT = 0,RIGHT = 1, MIDDLE = 2
119
+ */
120
+ mouseUp(PosX: number, PosY: number, key: CloudLark.MouseKey): void;
121
+ /**
122
+ * 向云端发送鼠标滚轮事件
123
+ * X Y 坐标计算方式同 mouseMove
124
+ *
125
+ * @param PosX 相对云端鼠标 X 点坐标
126
+ * @param PosY 相对云端鼠标 Y 点坐标
127
+ * @param Delata 120/-120 鼠标滚轮滚动的数值
128
+ */
129
+ mouseWheel(PosX: number, PosY: number, Delata: number): void;
130
+ /**
131
+ * 向云端发送键盘按键按下事件
132
+ * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
133
+ * @param isRepeat KeyboardEvent.repeat 字段,参考https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
134
+ * @returns 是否发送成功,如果key参数传递错误可能发送失败
135
+ */
136
+ keyDown(key: string, isRepeat: boolean): void;
137
+ /**
138
+ * 向云端发送键盘按键抬起事件
139
+ * @param key KeyboardEvent.code 字段,具体内容参考 Chrome https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
140
+ * @returns 是否发送成功,如果key参数传递错误可能发送失败
141
+ */
142
+ keyUp(key: string): void;
143
+ /**
144
+ * 手柄接口消息按照 windows xbox 360 手柄标准定义,即包含 xbox 360 手柄的功能,如按钮,摇杆,扳机键。windows 上最多支持4个手柄,
145
+ * 当前版本服务端只处理1个手柄,后续会放开多个手柄的支持。接口中发送的按键值为对应的 windows 中定义的按键值。
146
+ * 向云端发送手柄按钮按下事件
147
+ * 參考 js 中获取手柄事件,参考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
148
+ * @param userIndex 手柄的索引,硬件设备索引 0-3. 第一个连接的手柄为0,第二个为1,以此类推。
149
+ * @param button 按鍵 @see https://docs.microsoft.com/en-us/windows/win32/api/xinput/ns-xinput-xinput_gamepad
150
+ * export const enum XINPUT_BUTTONS {
151
+ * XINPUT_GAMEPAD_DPAD_UP = 0x0001,
152
+ * XINPUT_GAMEPAD_DPAD_DOWN = 0x0002,
153
+ * XINPUT_GAMEPAD_DPAD_LEFT = 0x0004,
154
+ * XINPUT_GAMEPAD_DPAD_RIGHT = 0x0008,
155
+ * XINPUT_GAMEPAD_START = 0x0010,
156
+ * XINPUT_GAMEPAD_BACK = 0x0020,
157
+ * XINPUT_GAMEPAD_LEFT_THUMB = 0x0040,
158
+ * XINPUT_GAMEPAD_RIGHT_THUMB = 0x0080,
159
+ * XINPUT_GAMEPAD_LEFT_SHOULDER = 0x0100,
160
+ * XINPUT_GAMEPAD_RIGHT_SHOULDER = 0x0200,
161
+ * XINPUT_GAMEPAD_A = 0x1000,
162
+ * XINPUT_GAMEPAD_B = 0x2000,
163
+ * XINPUT_GAMEPAD_X = 0x4000,
164
+ * XINPUT_GAMEPAD_Y = 0x8000,
165
+ * XINPUT_UNKNOWN = -1,
166
+ * }
167
+ * @param isRepeat 是否重复按下
168
+ * @returns
169
+ */
170
+ gamepadButtonDown(userIndex: number, button: number, isRepeat: boolean): void;
171
+ /**
172
+ * 向云端发送手柄按钮抬起事件
173
+ * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
174
+ * @param userIndex 手柄的索引
175
+ * @param button 按鍵
176
+ * @returns
177
+ */
178
+ gamepadButtonUp(userIndex: number, button: number): void;
179
+ /**
180
+ * 向云端发送手柄按trigger键事件
181
+ * 參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
182
+ * @param userIndex 手柄的索引
183
+ * @param isleft 是否是左trigger
184
+ * @param value trigger的值 扳机键的值 0-255
185
+ * @returns
186
+ */
187
+ gamepadTrigger(userIndex: number, isleft: boolean, value: number): void;
188
+ /**
189
+ * 向云端发送手柄按摇杆的值,即 axes 值
190
+ * win MAX
191
+ * |
192
+ * MIN-------------MAX
193
+ * |
194
+ * MIN
195
+ * js 中获取硬件手柄參考 https://developer.mozilla.org/zh-CN/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
196
+ * @param userIndex 手柄的索引
197
+ * @param thumblx 左摇杆 X 值,-32767 到 32767
198
+ * @param thumbly 左摇杆 Y 值,-32767 到 32767
199
+ * @param thumbrx 右摇杆 X 值,-32767 到 32767
200
+ * @param thumbry 右摇杆 Y 值,-32767 到 32767
201
+ * @returns
202
+ */
203
+ joystick(userIndex: number, thumblx: number, thumbly: number, thumbrx: number, thumbry: number): void;
204
+ /**
205
+ * 向云端发送触摸按下事件
206
+ * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
207
+ * @param id 手指的id
208
+ * @param x 相对云端的x轴坐标
209
+ * @param y 相对云端的y轴坐标
210
+ * @returns
211
+ */
212
+ touchDown(id: number, x: number, y: number): void;
213
+ /**
214
+ * 向云端发送触摸移动事件
215
+ * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
216
+ * @param id 手指的id
217
+ * @param x 相对云端的x轴坐标
218
+ * @param y 相对云端的y轴坐标
219
+ * @returns
220
+ */
221
+ touchMove(id: number, x: number, y: number): void;
222
+ /**
223
+ * 向云端发送触摸抬起事件
224
+ * 坐标位置与 mouseMove 相同,相对与云端的鼠标移动位置
225
+ * @param id 手指的id
226
+ * @param x 相对云端的x轴坐标
227
+ * @param y 相对云端的y轴坐标
228
+ * @returns
229
+ */
230
+ touchUp(id: number, x: number, y: number): void;
231
+ /**
232
+ * 字符串转换为输入的鼠标按键值
233
+ * @param button 'left' | 'mid' | 'right'
234
+ * @returns LEFT = 0,RIGHT = 1,MIDDLE = 2
235
+ */
236
+ getMouseButtonType(button: 'left' | 'mid' | 'right'): CloudLark.MouseKey;
237
+ ```
238
+
239
+ ## 数据通道扩展,向云端应用数据通道发送数据
240
+
241
+ ```typescript
242
+ /**
243
+ * 发送文字消息给数据通道
244
+ * 注意 云端应用要继承数据通道功能
245
+ * > V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
246
+ * @param text 文字
247
+ */
248
+ sendTextToDataChannel(text: string): void;
249
+ /**
250
+ * 发送字节消息给数据通道
251
+ * 注意 云端应用要继承数据通道功能
252
+ * @param binary 字节消息
253
+ */
254
+ sendBinaryToDataChannel(binary: Uint8Array): void;
255
+ ```
256
+
257
+ ## 智能语音相关接口
258
+
259
+ ```typescript
260
+ /**
261
+ * 开始智能语音对话文本输入
262
+ * 应在只能语音为开始状态下开始输入
263
+ * @param text 输入的文本
264
+ * @returns 返回对话 ID
265
+ */
266
+ aiDmTextInput(text: string): number;
267
+ /**
268
+ * 开始智能语音对话语音输入,自动请求录音权限
269
+ * 应在只能语音为开始状态下开始输入
270
+ * @returns 成功返回对话id,失败返回异常
271
+ */
272
+ startAiDmVoiceInput(): Promise<number>;
273
+ /**
274
+ * 停止智能语音输入,通知语音引擎当前用户输入对话结束
275
+ * @returns 返回当前对话的id
276
+ */
277
+ stopAiDmVoiceInput(): number;
278
+ ```
279
+
280
+ LarkSR 添加如下事件来获取智能语音服务状态:
281
+
282
+ ```typescript
283
+ larksr.on('aivoicestatus', (e) => {
284
+ // 智能语音服务状态
285
+ });
286
+
287
+ larksr.on('aivoiceasrresult', (e) => {
288
+ // 智能语音转文字识别结果
289
+ });
290
+
291
+ larksr.on('aivoicedmresult', (e) => {
292
+ // 智能语音对话结果
293
+ });
294
+ ```
295
+
296
+ ## 麦克风输入接口
297
+
298
+ 客户端打开后云端应用可直接通过读取声卡上的麦克风接收到音频。
299
+
300
+ > 该功能匹配的服务端版本最低为 V3.2.51
301
+ > 使用该功能要注意在后台开启语音输入功能
302
+ > 注意要在连接成功之后打开媒体设备。即 `mediaPlayed` 之后调用才有效
303
+
304
+ ```typescript
305
+ /**
306
+ * 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
307
+ * @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
308
+ * @returns
309
+ */
310
+ openAudio(deviceId?: string);
311
+ /**
312
+ * 关闭当前的音频设备
313
+ * @returns
314
+ */
315
+ closeAudio(): boolean | undefined;
316
+ /**
317
+ * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
318
+ * @returns
319
+ */
320
+ getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
321
+ /**
322
+ * 设置当前已开启的音频track是否启用状态
323
+ * @param enable 是否启用
324
+ * @returns
325
+ */
326
+ setAudioEnable(enable: boolean): void | undefined;
327
+ ```
328
+
329
+ larksr 配置项自动打开麦克风配置,在`new LarkSR({ ... 此处省略其他配置 ... audioInputAutoStart: true})` 时传入,
330
+
331
+ > 手动传入的 `audioInputAutoStart` 优先级高于后台配置
332
+
333
+ ```javascript
334
+ /**
335
+ * 当启用音频输入功能,是否自动连入音频设备。
336
+ * 默认关闭。
337
+ * 需要注意默认打开的是系统中默认的音频设备。
338
+ */
339
+ audioInputAutoStart?: boolean;
340
+ ```
341
+
342
+ ## 视频输入接口
343
+
344
+ 客户端打开后云端应用可直接通过读取服务端的摄像头读取视频数据。
345
+
346
+ > 该功能匹配的服务端版本最低为 V3.2.61
347
+ > 使用该功能要注意在后台应用管理中开启视频输入功能
348
+ > 注意要在连接成功之后打开媒体设备。即 `mediaPlayed` 之后调用才有效
349
+
350
+ ```typescript
351
+ /**
352
+ * 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
353
+ * @param audio boolean 是否同时开启音频
354
+ * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
355
+ * @returns Promise
356
+ */
357
+ openVideo(audio?: boolean, cameraId?: string);
358
+ /**
359
+ * 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
360
+ * 如果需要指定特殊的媒体设备请单独使用 @see openAudio @see openVideo
361
+ * @param video 是否包含视频
362
+ * @param audio 是否包含音频
363
+ * @returns Promise
364
+ */
365
+ openDefaultMedia(video?: boolean, audio?: boolean)>;
366
+ /**
367
+ * 返回已连接的视频设备
368
+ * @returns Promise<MediaDeviceInfo[]>
369
+ */
370
+ getConnectedVideoinputDevices();
371
+ /**
372
+ * 设置当前已开启的视频track是否启用状态
373
+ * @param enable 是否启用
374
+ * @returns void
375
+ */
376
+ setVideoEnable(enable: boolean);
377
+ ```
378
+
379
+ larksr 配置项自动打开视频输入配置,在`new LarkSR({ ... 此处省略其他配置 ... videoInputAutoStart: true})` 时传入
380
+
381
+ > 手动传入的 `videoInputAutoStart` 优先级高于后台配置
382
+
383
+ ```javascript
384
+ /**
385
+ * 当启用视频输入功能,是否自动连入视频设备。
386
+ * 默认关闭。
387
+ * 需要注意默认打开的是系统中默认的视频设备。
388
+ */
389
+ videoInputAutoStart?: boolean;
390
+ ```
391
+
392
+ ## 云端直播推流功能
393
+
394
+ > 服务端 3.2.7.0 添加, 要注意使用云端直播推流功能要在后台应用管理中开启该功能
395
+
396
+ ```javascript
397
+ /**
398
+ * 启动云端推流功能
399
+ * @param params {
400
+ * // rtmp push url 必须填
401
+ * path: "",
402
+ * //rtmp push key
403
+ * key: "",
404
+ * // 推流的宽
405
+ * width: 1280,
406
+ * // 推流的高
407
+ * height: 720,
408
+ * framerate: 30,
409
+ * // kbps
410
+ * bitrate: 1024 * 2,
411
+ * // 是否支持断线重连
412
+ * reconnect: true,
413
+ * //最大重连次数
414
+ * reconnectRetries: 3,
415
+ * //是否串流麦克风(语音输入支持的情况)
416
+ * voice: audioInput,
417
+ * }
418
+ * @returns Promise
419
+ */
420
+ StartCloudLiveStreaming(params: CloudLark.IRtmp_Start): Promise<void> | undefined;
421
+ /**
422
+ * 关闭云端推流功能
423
+ * @returns
424
+ */
425
+ StopLiveStreaming(): void | undefined;
426
+ ```
427
+
428
+ 云端直播的相关状态参考 `RTMP_STREAM_STATE` 和 `RTMP_STREAM_ERROR` 两个事件
429
+
430
+ ```javascript
431
+ /**
432
+ * 服务端 3.2.7.0 添加
433
+ * rtmp 直播推流状态
434
+ */
435
+ RTMP_STREAM_STATE = "rtmpstreamstate",
436
+ /**
437
+ * 服务端 3.2.7.0 添加
438
+ * rtmp 直播推流出错
439
+ */
440
+ RTMP_STREAM_ERROR = "rtmpstreamerror"
441
+ ```
442
+
443
+ ## 其他
444
+
445
+ ```typescript
446
+ /**
447
+ * 采集一帧图像
448
+ * @params data: any 抛出采集事件时抛出的附加data,比如采集的时间戳
449
+ * @params option: { width: number, height: number } 截图的宽高,如果未设置则使用云端应用窗口的宽高
450
+ * @return { data: any, base64: base64string } 返回传入的 data 和采集的 base64 字符串
451
+ */
452
+ captrueFrame(data: any, option?: { width: number; height: number;})
453
+
454
+ /**
455
+ * 设置是否强制横屏显示内容.
456
+ * handelRootElementSize 必须设置为 true 才有作用。
457
+ * 要注意强制横屏模式下网页的坐标系xy和视觉上相反,如果通过外部输入 input 事件。要注意调整
458
+ * @param force 是否强制横屏
459
+ */
460
+ setMobileForceLandScape(force: boolean): void;
461
+ /**
462
+ * 从DOM种删除渲染组件,注意删除渲染组件之后将无法再次进入应用,所有状态将失效,不可恢复,只能重新new LarkSR
463
+ */
464
+ destroy(): void;
465
+ ```
@@ -0,0 +1,82 @@
1
+ #
2
+
3
+ ## 安装
4
+
5
+ 1. npm 方式
6
+
7
+ ```cmd
8
+ npm i larksr_websdk
9
+ ```
10
+
11
+ 2. 直接引入
12
+
13
+ ```html
14
+ <script src="larksr-web-sdk.min.js"></script>
15
+ ```
16
+
17
+ > 直接引入模式下 SDK 挂载为全局对象 larksr_websdk。
18
+
19
+ ## 使用
20
+
21
+ ### 注意
22
+
23
+ > V3.2.30 开始仅支持服务端 [V3.2.3.1](https://www.pingxingyun.com/devCenter.html) 以上版本。
24
+ > [老版本 SDK Demo 下载](https://github.com/pingxingyun/lark_sr_websdk_demos/releases/tag/V3.2.10)
25
+ > V3.2.314 版本对应服务器版本和数据通道版本为 3.2.5.1 及以上
26
+
27
+ ## 创建 LarkSR 实例
28
+
29
+ ```typescript
30
+ /**
31
+ * LarkSR 客户端。所有操作和事件通过该类传递
32
+ * @param config 本地配置, 优先级最高
33
+ */
34
+ constructor(config: ILarkSRConfig);
35
+ ```
36
+
37
+ example:
38
+
39
+ ```js
40
+ var client = new LarkSR({
41
+ // 设置挂载显示的元素
42
+ // 注意*不要*设置为 document.documentElement
43
+ rootElement: document.getElementById('container'),
44
+ // 服务器地址,实际使用中填写您的服务器地址
45
+ // 如:http://222.128.6.137:8181/
46
+ // 当使用平行云托管服务时服务器地址自动分配,可留空。
47
+ // larksr.connectWithPxyHost 进入应用
48
+ serverAddress: "Lark 服务器前台地址",
49
+ // SDK ID 也可在 initSDKAuthCode 设置
50
+ authCode: '您的 SDK ID',
51
+ // 测试载入背景图
52
+ // loadingBgUrl: 'https://home-obs.pingxingyun.com/homePage_4_0/bg.jpg',
53
+ });
54
+
55
+ // start connect;
56
+ // 使用平行云托管服务时,用 connectWithPxyHost 进入应用并自动分配服务器.
57
+ client.connect({
58
+ // 要使用的云端资源的应用 ID,从后云雀后台接口获取
59
+ // 参考查询应用一栏文档
60
+ // https://www.pingxingyun.com/online/api3_2.html?id=476
61
+ // 如 222.128.6.137:8181 系统下的 879408743551336448 应用
62
+ appliId: "应用ID"
63
+ })
64
+ .then(() => {
65
+ console.log('enter success');
66
+ })
67
+ .catch((e) => {
68
+ console.error(e);
69
+ });
70
+ // ...
71
+ // 主动关闭并清理资源
72
+ // client.close();
73
+ ```
74
+
75
+ ## 文档目录
76
+
77
+ ### [参数配置](./config.md)
78
+ ### [LarkSR 对象方法](./functons.md)
79
+ ### [LarkSR 事件](./events.md)
80
+ ### [LarkSR 对象成员](./member_variables.md)
81
+ ### [SDK ID 加密](./sdkid_encryption.md)
82
+ ### [SDK 更新](./update.md)