larksr_websdk 3.2.402 → 3.2.404

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 (55) hide show
  1. package/dist/doc/en/config.md +228 -0
  2. package/dist/doc/en/dev.md +84 -0
  3. package/dist/doc/en/event_codes.md +286 -0
  4. package/dist/doc/en/events.md +229 -0
  5. package/dist/doc/en/functions.md +603 -0
  6. package/dist/doc/en/index.md +115 -0
  7. package/dist/doc/en/member_variables.md +407 -0
  8. package/dist/doc/en/multi_media_3_2_401.md +84 -0
  9. package/dist/doc/en/sdkid_encryption.md +40 -0
  10. package/dist/doc/en/update.md +462 -0
  11. package/dist/doc/zh_CN/config.md +243 -0
  12. package/dist/doc/zh_CN/event_codes.md +286 -0
  13. package/dist/doc/zh_CN/events.md +229 -0
  14. package/dist/doc/zh_CN/functions.md +658 -0
  15. package/dist/doc/zh_CN/index.md +84 -0
  16. package/dist/doc/zh_CN/member_variables.md +431 -0
  17. package/dist/doc/zh_CN/multi_media_3_2_401.md +84 -0
  18. package/dist/doc/zh_CN/sdkid_encryption.md +40 -0
  19. package/dist/doc/zh_CN/update.md +579 -0
  20. package/dist/larksr-web-sdk.min.js +1 -1
  21. package/dist/types/api.d.ts +1 -0
  22. package/dist/types/appli_params.d.ts +9 -6
  23. package/dist/types/config.d.ts +0 -1
  24. package/dist/types/lark/Worker.d.ts +3 -0
  25. package/dist/types/lark/application.d.ts +7 -2
  26. package/dist/types/lark/custom.d.ts +7 -0
  27. package/dist/types/lark/peer_connection.d.ts +3 -2
  28. package/dist/types/lark/webcodec.d.ts +40 -0
  29. package/dist/types/lark/webcodecs.generated.d.ts +417 -0
  30. package/dist/types/lark/websocket_channel.d.ts +1 -0
  31. package/dist/types/lark/websocket_proxy.d.ts +2 -0
  32. package/dist/types/larksr.d.ts +19 -7
  33. package/dist/types/protobuf/cloudlark.d.ts +9674 -0
  34. package/dist/types/screen_state.d.ts +8 -3
  35. package/dist/types/utils/ios-inner-height.d.ts +4 -0
  36. package/dist/types/utils/lock_pointer.d.ts +2 -1
  37. package/dist/types/utils/scale_mode.d.ts +44 -0
  38. package/package.json +72 -71
  39. package/types/api.d.ts +1 -0
  40. package/types/appli_params.d.ts +9 -6
  41. package/types/config.d.ts +0 -1
  42. package/types/lark/Worker.d.ts +3 -0
  43. package/types/lark/application.d.ts +7 -2
  44. package/types/lark/custom.d.ts +7 -0
  45. package/types/lark/peer_connection.d.ts +3 -2
  46. package/types/lark/webcodec.d.ts +40 -0
  47. package/types/lark/webcodecs.generated.d.ts +417 -0
  48. package/types/lark/websocket_channel.d.ts +1 -0
  49. package/types/lark/websocket_proxy.d.ts +2 -0
  50. package/types/larksr.d.ts +19 -7
  51. package/types/protobuf/cloudlark.d.ts +9674 -0
  52. package/types/screen_state.d.ts +8 -3
  53. package/types/utils/ios-inner-height.d.ts +4 -0
  54. package/types/utils/lock_pointer.d.ts +2 -1
  55. package/types/utils/scale_mode.d.ts +44 -0
@@ -0,0 +1,462 @@
1
+ # 更新
2
+
3
+ ## V3.2.30
4
+
5
+ > V3.2.30 仅支持服务端 [V3.2.3.1](https://www.pingxingyun.com/devCenter.html) 以上版本。
6
+ > [老版本 SDK Demo 下载](https://github.com/pingxingyun/lark_sr_websdk_demos/releases/tag/V3.2.10)
7
+
8
+ 1. [添加像素流送支持](https://docs.unrealengine.com/4.27/zh-CN/SharingAndReleasing/PixelStreaming/PixelStreamingIntro/)。
9
+ 2. 完善安全性, 添加 SDK ID 加密配置。
10
+ 3. 移除 CreateLarkSRClientFromePXYHost,CreateLarkSRClientFromeAPI, CreateLarkSRClientFromeUrl 函数。直接使用 `new LarkSR(config: ILarkSRConfig)` 方式创建对象。
11
+
12
+ ## V3.2.33
13
+
14
+ 1. 添加智能语音相关接口支持
15
+
16
+ LarkSR 对象添加:
17
+
18
+ ```typescript
19
+ /**
20
+ * 开始智能语音对话文本输入
21
+ * 应在只能语音为开始状态下开始输入
22
+ * @param text 输入的文本
23
+ * @returns 返回对话 ID
24
+ */
25
+ public aiDmTextInput(text: string) {
26
+ /**
27
+ * 开始智能语音对话语音输入,自动请求录音权限
28
+ * 应在只能语音为开始状态下开始输入
29
+ * @returns 成功返回对话id,失败返回异常
30
+ */
31
+ public startAiDmVoiceInput() {
32
+
33
+ /**
34
+ * 停止智能语音输入,通知语音引擎当前用户输入对话结束
35
+ * @returns 返回当前对话的id
36
+ */
37
+ public stopAiDmVoiceInput() {
38
+ ```
39
+
40
+ LarkSR 添加如下事件:
41
+
42
+ ```typescript
43
+ larksr.on('aivoicestatus', (e) => {
44
+ // 智能语音服务状态
45
+ });
46
+
47
+ larksr.on('aivoiceasrresult', (e) => {
48
+ // 智能语音转文字识别结果
49
+ });
50
+
51
+ larksr.on('aivoicedmresult', (e) => {
52
+ // 智能语音对话结果
53
+ });
54
+ ```
55
+
56
+ ## V3.2.37
57
+
58
+ ```typescript
59
+ /**
60
+ * 设置是否强制横屏显示内容.
61
+ * handelRootElementSize 必须设置为 true 才有作用。
62
+ * 要注意强制横屏模式下网页的坐标系xy和视觉上相反,如果通过外部输入 input 事件。要注意调整
63
+ * @param force 是否强制横屏
64
+ */
65
+ setMobileForceLandScape(force: boolean): void;
66
+ ```
67
+
68
+ ## V3.2.311
69
+
70
+ 新增麦克风输入接口。客户端打开后云端应用可直接通过读取声卡上的麦克风接收到音频。
71
+
72
+ > 该功能匹配的服务端版本最低为 V3.2.51
73
+ > 使用该功能要注意在后台应用管理中开启音频输入功能
74
+ > 注意要在连接成功之后打开媒体设备。即 `mediaPlayed` 之后调用才有效
75
+
76
+ ```typescript
77
+ /**
78
+ * 打开一个音频设备,要注意浏览器限制在 https 或者 localhost 下才能打开音频
79
+ * @param deviceId 音频设备id,如果不传将打开默认设备。@see getConnectedAudioinputDevices
80
+ * @returns
81
+ */
82
+ openAudio(deviceId?: string);
83
+ /**
84
+ * 关闭当前的音频设备
85
+ * @returns
86
+ */
87
+ closeAudio(): boolean | undefined;
88
+ /**
89
+ * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
90
+ * @returns
91
+ */
92
+ getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
93
+ /**
94
+ * 设置当前已开启的音频track是否启用状态
95
+ * @param enable 是否启用
96
+ * @returns
97
+ */
98
+ setAudioEnable(enable: boolean): void | undefined;
99
+ ```
100
+
101
+ larksr 配置项新增自动打开麦克风配置,在`new LarkSR({ ... 此处省略其他配置 ... audioInputAutoStart: true})` 时传入,
102
+
103
+ > 手动传入的 `audioInputAutoStart` 优先级高于后台配置
104
+
105
+ ```javascript
106
+ /**
107
+ * 当启用音频输入功能,是否自动连入音频设备。
108
+ * 默认关闭。
109
+ * 需要注意默认打开的是系统中默认的音频设备。
110
+ */
111
+ audioInputAutoStart?: boolean;
112
+ ```
113
+
114
+ ## V3.2.319
115
+
116
+ 新增视频输入接口。客户端打开后云端应用可直接通过读取服务端的摄像头读取视频数据。
117
+
118
+ > 该功能匹配的服务端版本最低为 V3.2.61
119
+ > 使用该功能要注意在后台应用管理中开启视频输入功能
120
+ > 注意要在连接成功之后打开媒体设备。即 `mediaPlayed` 之后调用才有效
121
+
122
+ ```typescript
123
+ /**
124
+ * 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
125
+ * @param audio boolean 是否同时开启音频
126
+ * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
127
+ * @returns Promise
128
+ */
129
+ openVideo(audio?: boolean, cameraId?: string);
130
+ /**
131
+ * 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
132
+ * 如果需要指定特殊的媒体设备请单独使用 @see openAudio @see openVideo
133
+ * @param video 是否包含视频
134
+ * @param audio 是否包含音频
135
+ * @returns Promise
136
+ */
137
+ openDefaultMedia(video?: boolean, audio?: boolean)>;
138
+ /**
139
+ * 返回已连接的视频设备
140
+ * @returns Promise<MediaDeviceInfo[]>
141
+ */
142
+ getConnectedVideoinputDevices();
143
+ /**
144
+ * 设置当前已开启的视频track是否启用状态
145
+ * @param enable 是否启用
146
+ * @returns void
147
+ */
148
+ setVideoEnable(enable: boolean);
149
+ ```
150
+
151
+ larksr 配置项新增自动打开视频输入配置,在`new LarkSR({ ... 此处省略其他配置 ... videoInputAutoStart: true})` 时传入
152
+
153
+ > 手动传入的 `videoInputAutoStart` 优先级高于后台配置
154
+
155
+ ```javascript
156
+ /**
157
+ * 当启用视频输入功能,是否自动连入视频设备。
158
+ * 默认关闭。
159
+ * 需要注意默认打开的是系统中默认的视频设备。
160
+ */
161
+ videoInputAutoStart?: boolean;
162
+ ```
163
+
164
+ ## V3.2.321
165
+
166
+ larksr 配置项新增默认放大手势和鼠标滚轮对应关系和是否使用触摸屏模式,在`new LarkSR({ ... 此处省略其他配置 ... mouseZoomDirection: 0, touchOperateMode: "mouse"})` 时传入
167
+
168
+ > 手动传入的配置优先级高于后台配置
169
+
170
+ ```javascript
171
+ /**
172
+ * mouseZoomDirection
173
+ * 用于移动端捏合缩放操作与应用鼠标缩放的对应关系
174
+ * 1:鼠标滚轮向上为放大,
175
+ * 0:鼠标滚轮向下为放大(default)
176
+ */
177
+ mouseZoomDirection?: number;
178
+ /**
179
+ * 触摸指令模式,对应后台应用管理->应用编辑->移动端高级设置->触摸指令模式 优先级高于后台配置
180
+ * 触摸指令,移动端的触摸指令对应为云端的触屏还是鼠标
181
+ * 'touchScreen' | 'mouse'
182
+ */
183
+ touchOperateMode?: 'touchScreen' | 'mouse';
184
+ ```
185
+
186
+ captrueFrame 方法会将截图和通过返回值带出来
187
+
188
+ ```javascript
189
+ /**
190
+ * 采集一帧图像
191
+ * @params data: any 抛出采集事件时抛出的附加data,比如采集的时间戳
192
+ * @return { data: any, base64: base64string } 返回传入的 data 和采集的 base64 字符串
193
+ */
194
+ captrueFrame(data: any)
195
+ ```
196
+
197
+ 新增销毁方法,要注意,销毁之后 larksr 对象不再可用
198
+
199
+ ```javascript
200
+ /**
201
+ * 从DOM种删除渲染组件,注意删除渲染组件之后将无法再次进入应用,所有状态将失效,不可恢复,只能重新new LarkSR
202
+ */
203
+ destroy(): void;
204
+ ```
205
+
206
+ 添加操作类中的 keyboardhandler 开放访问,可用配置拦截哪些按键的默认行为
207
+
208
+ ```javascript
209
+ // 设置键盘事件默认拦截浏览器默认行为。
210
+ // 在 preventKeys 中的将拦截,如果数组设置为空则全部不拦截
211
+ // 默认拦截 F1 F5 F12
212
+ larksr.op.keyboardHandler.preventKeys = [["F1", "F5", "F12"]];
213
+ ```
214
+
215
+ 操作类中添加 gestureHandler 公开访问,gestureHandler 处理将移动端触摸事件对应为鼠标事件的过程。
216
+
217
+ 可用通过 gestureHandler 调节触摸事件触发参数
218
+
219
+ ```javascript
220
+ // 触摸事件在对应为鼠标事件中,提供的鼠标相对移动的速度。
221
+ // 即 rx = (pxNew-pxOld) * relativeMouseMoveSpeed
222
+ // ry = (pyNew-pyOld)* relativeMouseMoveSpeed
223
+ // 可能会影响使用相对移动(rawInput)判断的云端应用的效果
224
+ larksr.op.gestureHandler.relativeMouseMoveSpeed = 2;
225
+ // 触摸模拟为鼠标事件时,模拟点击的判断范围。
226
+ // 实际的鼠标事件点击时一般不会移动,而触摸操作基本上一定会触发移动事件
227
+ // 如果要模拟PC上的击事件,比如单击或双击,在鼠标按下和抬起之间不应再插入鼠标移动
228
+ // 当触发移动事件时,超出该判断范围才发送移动事件。
229
+ // 注意,修改该值可能会导致云端应用上判断单击或双击失败,如果云端应用不包含类似操作基本影响不大
230
+ larksr.op.gestureHandler.tapLimitRadius = 20;
231
+ // 在该时间范围下将尝试发送单机按下事件,修改该值可能会导致单机事件的触发成功率
232
+ larksr.op.gestureHandler.tapLimitTimeout = 100;
233
+ ```
234
+
235
+ 可用通过 gestureHandler 拦截触摸事件回调, 通过 `larksr.op.gestureHandler` 设置回调函数
236
+
237
+ ## V3.2.322
238
+
239
+ 1. 修复某些情况下后台设置的 LOGO 会闪一下默认 LOGO 的问题
240
+ 2. 添加 `larksr.virtualCursorPosition` 和 `larksr.virtualCursorPositionRaw` (省略 larksr 对象创建代码) 获取当前虚拟鼠标或者触摸点的位置。
241
+
242
+ ## V3.2.324
243
+
244
+ 1. 修复 iOS 屏幕高度判断问题
245
+ 2. 添加获取应用列表接口 `API.GetAppliList(server: string, params: any);`
246
+ 3. 添加获取区域列表接口 `API.RegionList(server: string, params: any);`
247
+ 4. 添加获取后台配置UI接口 `larksr.getTouchCtrMapping()`
248
+ 5. 添加 `RTMP_STREAM_STATE = "rtmpstreamstate"` 事件,返回云端直播推流事件
249
+ 6. 添加 `RTMP_STREAM_ERROR = "rtmpstreamerror"` 事件,返回云端直播推流错误
250
+ 7. 添加 `larksr.StartCloudLiveStreaming(params)` 接口,启动云端直播推流功能
251
+ 8. 添加 `larksr.StopLiveStreaming()` 接口,关闭云端直播推流功能.
252
+
253
+ ## V3.2.326
254
+
255
+ 1. 截图接口 `captrueFrame(data: any, option?: { width: number; height: number;})` 添加 option 参数,可以设置截图的宽高
256
+ 2. 添加 onlyHandleRootElementTransform 参数 `new LarkSR({ ... 此处省略其他配置 ... onlyHandleRootElementTransform: 0})`
257
+
258
+ ```javascript
259
+ /**
260
+ * 是否只设置根的组件的旋转。只当 handleRootElementSize 为 true 时有效。设置根组件的旋转用于 mobileForceLandscape 模式。
261
+ * 默认为false,此时 SDK 会设置根组件的宽高,margin 0,padding 0
262
+ * 为true并且handleRootElementSize也为true时,只设置根组件的旋转属性,用于强制横屏模式以及强制横屏竖屏的切换。
263
+ * 要注意onlyHandleRootElementTransform开启成功时,要保证根节点的元素大小并且当根节点变化时应调用 resize 方法通知更新根节点的大小。
264
+ */
265
+ onlyHandleRootElementTransform?: boolean;
266
+ ```
267
+
268
+ ## V3.2.327
269
+
270
+ 1. 添加方法 `larksr.updateServerAddress(serverAddress: string)`,可在 `new LarkSR()` 之后再更新服务器地址。用于需要异步设服务器地址的情况。
271
+
272
+ ```javascript
273
+ /**
274
+ * 单独设置服务器地址,作用同 config 中的 serverAddress 字段
275
+ * 在进入应用之前都可以更新。
276
+ * @param serverAddress 服务器地址,如 http://192.168.0.55:8181/
277
+ */
278
+ updateServerAddress(serverAddress: string): void;
279
+ ```
280
+
281
+ ## V3.2.329
282
+
283
+ 1. 添加自动播放参数参数 `new LarkSR({ ... 此处省略其他配置 ... autoPlay: true, showPlayButton: true})`
284
+
285
+ SDK 内部添加播放按钮 UI,当自动播放失败或者手动播放模式时会显示出来,用户点击之后才会播放。
286
+
287
+ 自动播放模式下会尽可能直接播放不用手动点,包括可能静音播放。
288
+
289
+ ```javascript
290
+ /**
291
+ * 是否自动播放。默认开启。
292
+ * 如果关闭,连接成功之后会有提示UI,用户手动触发。
293
+ * 开启自动播放时也不能保证所有浏览器自动播放成功,当播放失败或者浏览器不支持自动播放时,
294
+ * 也会显示播放按钮,用户点击播放按钮手动播放。
295
+ */
296
+ autoPlay?: boolean;
297
+ /**
298
+ * 在播放失败或者手动播放模式下是否显示播放的按钮。
299
+ * 默认开启。要注意,如果关闭情况下要添加好提示或UI,引导用户点击播放。
300
+ * UI中要让用户触发 larksr.videoComponent.playVideo();
301
+ */
302
+ showPlayButton?: boolean;
303
+ ```
304
+
305
+ 2. 添加语言配置参数 `new LarkSR({ ... 此处省略其他配置 ... language: true})`
306
+
307
+ ```javascript
308
+ /**
309
+ * 语言设置,目前只支持种英文两种
310
+ * zh-CN 中文 en 英文
311
+ */
312
+ language?: string;
313
+ ```
314
+
315
+ 3. 添加渲染资源不足事件,在 `larksr.connect` 方法和 `resourcenotenough` 事件时抛出。可以根据服务端返回的 code 码判断具体情况,提示用户或进行后续处理。
316
+
317
+ `connect` 方法返回的 Promise:
318
+
319
+ ```javascript
320
+ /**
321
+ * 连接云端渲染资源
322
+ * @params appID 云端资源的 ID
323
+ * @returns Promise 调用接口并校验授权通过返回成功并自动开始连接
324
+ * Promise 返回的错误对象:
325
+ * {
326
+ // type 0 渲染资源不足导致的错误,1 其他错误, 可用 type == 0 判断是否是渲染资源不足类型的错误
327
+ type: 0,
328
+
329
+ // 渲染资源不足时的事件类型,其他情况可能不返回,比如网络错误
330
+ eventType?:LarkSRClientEvent.RESOURCE_NOT_ENOUGH,
331
+
332
+ // 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
333
+ // 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
334
+ // 813=当前应用的运行数量已达到最大值:{0},请稍后再试
335
+ // 814=同一appKey下的应用运行数量达到最大值:{0},请稍后再试
336
+ // 815=应用运行数量已达到最大授权并发数量,请稍后再试
337
+ // 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
338
+ // 817=渲染资源不足,请稍后再试
339
+ // 820=暂无活跃的GPU节点
340
+ // 821=节点资源使用率已达到设置的阈值
341
+ // 823=单节点运行应用数量已达到单节点最大授权并发数量,请稍后再试
342
+ code?: 817,
343
+
344
+ // 错误信息
345
+ message:? "",
346
+ }
347
+ *
348
+ */
349
+ connect(params: {
350
+ appliId: string;
351
+ playerMode?: number;
352
+ userType?: number;
353
+ roomCode?: string;
354
+ taskId?: string;
355
+ clientMac?: string;
356
+ groupId?: string;
357
+ regionId?: string;
358
+ targetServerIp?: string;
359
+ appKey?: string;
360
+ timestamp?: string;
361
+ signature?: string;
362
+ }): Promise<void>;
363
+ ```
364
+
365
+ 或者单独监听 `resourcenotenough`:
366
+
367
+ ```javascript
368
+ /**
369
+ * 渲染资源不足
370
+ * {
371
+ // 服务端返回的错误码,服务端请求正确返回时存在。需要注意渲染资源不足类型的错误码。
372
+ // 可用 type == 0 判断是否是渲染资源不足类型的错误,再用 code 进行细节处理,或者只用 type == 0 进行处理。
373
+ // 813=当前应用的运行数量已达到最大值:{0},请稍后再试
374
+ // 814=同一appKey下的应用运行数量达到最大值:{0},请稍后再试
375
+ // 815=应用运行数量已达到最大授权并发数量,请稍后再试
376
+ // 816=VR应用运行数量已达到最大授权并发数量,请稍后再试
377
+ // 817=渲染资源不足,请稍后再试
378
+ // 820=暂无活跃的GPU节点
379
+ // 821=节点资源使用率已达到设置的阈值
380
+ // 823=单节点运行应用数量已达到单节点最大授权并发数量,请稍后再试
381
+ code?: 817,
382
+
383
+ // 错误信息
384
+ message:? "",
385
+ }
386
+ *
387
+ */
388
+ RESOURCE_NOT_ENOUGH = 'resourcenotenough',
389
+ ```
390
+
391
+ ```javascript
392
+ // 此处省略 larksr 创建过程
393
+ // 监听连接成功事件
394
+ larksr.on('resourcenotenough', function(e) {
395
+ console.log("LarkSRClientEvent RESOURCE_NOT_ENOUGH", e);
396
+ });
397
+ ```
398
+
399
+ ## V3.2.331
400
+
401
+ 1. 优化自动播放模式下播放按钮出现时机,添加载入超时设置 `new LarkSR({ ... 此处省略其他配置 ... playTimeout: 20 })`
402
+ 2. 修复不支持 WebRTC 情况下未抛出错误事件的问题。对应错误码为 603, `error` 事件可能的错误码如下:
403
+
404
+ ```javascript
405
+ /**
406
+ * 发生错误时抛出
407
+ * type: error
408
+ * message: 错误消息
409
+ * code: 可能的错误码如下, 错误码的具体定义 @see [./event_codes]
410
+ * // 连接服务器的websocket代理关闭
411
+ * LK_RENDER_SERVER_CLOSE : 102
412
+ * // 连接代理服务器的websocket关闭
413
+ * LK_PROXY_SERVER_CLOSE : 202
414
+ * // 检测版本失败,服务器和客户端的版本匹配。目前只有3.1和3.2大版本不匹配情况
415
+ * LK_VERSION_CHECK_FAILED : 301
416
+ * // 服务器返回创建Task失败
417
+ * TASK_NOTFOUND-TASK_NO_GPU_RESOURCE : 401-404
418
+ * // 服务端启动流媒体失败
419
+ * LK_START_STREAM_PROCESS_START-FAILED-LK_START_STREAM_ENCODER_ERROR : 501-504
420
+ * // RTC 连接关闭
421
+ * LK_RTC_EVENT_PEERCONNECTION_CLOSED : 601
422
+ * // RTC 连接出错
423
+ * LK_RTC_EVENT_PEERCONNECTION_ERROR : 602
424
+ * // RTC 创建出错,一般为 浏览器不支持 webrtc
425
+ * LK_RTC_EVENT_PEERCONNECTION_CREATE_FAILED : 603
426
+ * // 服务器主动要求客户端退出
427
+ * LK_NOTIFY_CLIENT_LOGOUT_PLAYER_LOGOUT : 800
428
+ * // 一人操作多人看房主退出
429
+ * LK_NOTIFY_CLIENT_LOGOUT_TASKOWNER_LOGOUT : 801
430
+ *
431
+ */
432
+ ERROR = 'error',
433
+ ```
434
+
435
+ ## V3.2.334
436
+
437
+ 优化打开媒体通道实现流程,优化重复打开媒体设备或切换媒体设备效果。添加单独媒体上传通道(单独上传流程要求渲染服务器版本大于3290)。
438
+
439
+ 1. 添加配置项, useSeparateMediaSharePeer,配置是否使用单独的媒体上传通道(摄像头麦克风上传)。默认开启,如果需要使用旧版本服务端应关闭该项。 `new LarkSR({ ... 此处省略其他配置 ... useSeparateMediaSharePeer: true })`
440
+ 2. 添加 `pauseVideoSending/resumeVideoSending`,`pauseAudioSending/resumeAudioSending` 暂停和恢复摄像头或者麦克风上传。
441
+ 3. 添加 `closeMediaChannel` 关闭单独的媒体上传通道。仅当 useSeparateMediaSharePeer 为 true 时有效。
442
+ 4. `openVideo` 接口添加 `openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number)` 宽高参数,限定打开摄像头设备的宽高
443
+
444
+ ## V3.2.337
445
+
446
+ 1. 配合服务端升级协议.
447
+ 2. 修复其他问题.
448
+
449
+ ## V3.3.342
450
+
451
+ 1. 配合服务端升级,添加 `larksr.serverFeatures` 返回服务端支持特性
452
+ 2. 移动端打开摄像头会根据屏幕旋转旋转摄像头画面方向
453
+ 3. `openVideo` 接口可以传参数指定是否是前置摄像头 `openVideo(audio: boolean = false, cameraId: string = '', width: number = 0, height: number = 0, front?: boolean)`
454
+ 4. 获取后台应用参数 `larksr.params.mobileKeyboardType`
455
+
456
+ ## V3.2.343
457
+
458
+ 1. 添加配置项 `new LarkSR({ ... 此处省略其他配置 ... enableCanvasRender: false })` 开启或关闭 canvas 渲染模式。默认关闭。要注意移动端开启 canvas 会消耗额外性能。
459
+ 2. 优化显示效果。
460
+ 3. 优化显示宽高计算方式。
461
+
462
+ > 已知问题: iOS 在关闭 canvas 模式下,忽略宽高比的拉伸模式无效。