larksr_websdk 3.2.333 → 3.2.336

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.
@@ -213,5 +213,10 @@ interface ILarkSRConfig {
213
213
  * 默认 20S
214
214
  */
215
215
  playTimeout?: number;
216
+ /**
217
+ * 是否使用新版摄像头/麦克风协议
218
+ * 单独上传流程要求渲染服务器版本大于3290)
219
+ */
220
+ useSeparateMediaSharePeer?: boolean;
216
221
  }
217
222
  ```
@@ -358,6 +358,16 @@ openAudio(deviceId?: string);
358
358
  * @returns
359
359
  */
360
360
  closeAudio(): boolean | undefined;
361
+ /**
362
+ * 暂停发送音频
363
+ * @returns
364
+ */
365
+ pauseAudioSending(): any;
366
+ /**
367
+ * 恢复发送音频
368
+ * @returns
369
+ */
370
+ resumeAudioSending(): any;
361
371
  /**
362
372
  * 返回已连接的音频设备列表,设备列表中的设备的 deviceId 可用来打开某个音频设备
363
373
  * @returns
@@ -369,6 +379,15 @@ getConnectedAudioinputDevices(): Promise<MediaDeviceInfo[] | undefined>;
369
379
  * @returns
370
380
  */
371
381
  setAudioEnable(enable: boolean): void | undefined;
382
+
383
+ /**
384
+ * 请求浏览器打开媒体并且打开上传到服务器通道。
385
+ * 要注意的是在服务器连接成功之后请求打开
386
+ * @param constraints 参考 navigator.mediaDevices.getUserMedia(constraints)
387
+ * @param reset 是否重制媒体通道。true 的情况下重制整个 peerconnection
388
+ * @returns 打开的通道的绑定信息。管理媒体通道如关闭暂停或恢复使用。
389
+ */
390
+ openUserMedia(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
372
391
  ```
373
392
 
374
393
  larksr 配置项自动打开麦克风配置,在`new LarkSR({ ... 此处省略其他配置 ... audioInputAutoStart: true})` 时传入,
@@ -384,6 +403,23 @@ larksr 配置项自动打开麦克风配置,在`new LarkSR({ ... 此处省略其
384
403
  audioInputAutoStart?: boolean;
385
404
  ```
386
405
 
406
+ 获取当前打开音频设备的状态, 如 `larksr.audioPaused`
407
+
408
+ ```javascript
409
+ /**
410
+ * 当前打开的音频设备 ID,如果打开时没指定为空
411
+ */
412
+ get audioDeviceId(): string | null | undefined;
413
+ /**
414
+ * 当前打开音频的track对象,未打开状态为空
415
+ */
416
+ get audioTrack(): MediaStreamTrack | null | undefined;
417
+ /**
418
+ * 音频通道是否暂停
419
+ */
420
+ get audioPaused(): boolean | undefined;
421
+ ```
422
+
387
423
  ## 视频输入接口
388
424
 
389
425
  客户端打开后云端应用可直接通过读取服务端的摄像头读取视频数据。
@@ -397,9 +433,19 @@ audioInputAutoStart?: boolean;
397
433
  * 打开一个视频设备,要注意浏览器限制在 https 或者 localhost 下才能打开视频
398
434
  * @param audio boolean 是否同时开启音频
399
435
  * @param cameraId 视频设备id,如果不传将打开默认设备。@see getConnectedVideoinputDevices
436
+ * @param width 限制打开设备的宽
437
+ * @param height 限制打开设备的高
400
438
  * @returns Promise
401
439
  */
402
- openVideo(audio?: boolean, cameraId?: string);
440
+ openVideo(audio?: boolean, cameraId?: string, width?: number, height?: number): Promise<any>;
441
+ /**
442
+ * 打开摄像头设备
443
+ * @param cameraId 摄像头设备ID,@see getConnectedVideoinputDevices
444
+ * @param minWidth 限制打开设备的宽
445
+ * @param minHeight 限制打开设备的高
446
+ * @returns @see openUserMedia
447
+ */
448
+ openCamera(cameraId: string, minWidth?: number, minHeight?: number): Promise<any>;
403
449
  /**
404
450
  * 打开默认媒体设备,要注意浏览器限制在 https 或者 localhost 下
405
451
  * 如果需要指定特殊的媒体设备请单独使用 @see openAudio @see openVideo
@@ -419,6 +465,36 @@ getConnectedVideoinputDevices();
419
465
  * @returns void
420
466
  */
421
467
  setVideoEnable(enable: boolean);
468
+
469
+ /**
470
+ * 暂停发送视频
471
+ * @returns
472
+ */
473
+ pauseVideoSending(): any;
474
+ /**
475
+ * 恢复发送视频
476
+ * @returns
477
+ */
478
+ resumeVideoSending(): any;
479
+
480
+ /**
481
+ * 关闭当前已打开的视频设备
482
+ * @returns
483
+ */
484
+ closeVideo(): any;
485
+ /**
486
+ * 关闭当前已打开的共享设备如共享的标签页等
487
+ * @returns
488
+ */
489
+ closeShare(): any;
490
+ /**
491
+ * 请求浏览器打开媒体并且打开上传到服务器通道。
492
+ * 要注意的是在服务器连接成功之后请求打开
493
+ * @param constraints 参考 navigator.mediaDevices.getUserMedia(constraints)
494
+ * @param reset 是否重制媒体通道。true 的情况下重制整个 peerconnection
495
+ * @returns 打开的通道的绑定信息。管理媒体通道如关闭暂停或恢复使用。
496
+ */
497
+ openUserMedia(constraints?: MediaStreamConstraints, reset?: boolean): Promise<any>;
422
498
  ```
423
499
 
424
500
  larksr 配置项自动打开视频输入配置,在`new LarkSR({ ... 此处省略其他配置 ... videoInputAutoStart: true})` 时传入
@@ -434,6 +510,23 @@ larksr 配置项自动打开视频输入配置,在`new LarkSR({ ... 此处省略
434
510
  videoInputAutoStart?: boolean;
435
511
  ```
436
512
 
513
+ 获取当前打开视频设备的状态,如 `larksr.videoPaused`
514
+
515
+ ```javascript
516
+ /**
517
+ * 当前打开视频设备 ID,如果打开时没指定特设备id为空
518
+ */
519
+ get videoDeviceId(): string | null | undefined;
520
+ /**
521
+ * 当前打开视频track对象,未打开状态为空
522
+ */
523
+ get videoTrack(): MediaStreamTrack | null | undefined;
524
+ /**
525
+ * 视频通道是否暂停
526
+ */
527
+ get videoPaused(): boolean | undefined;
528
+ ```
529
+
437
530
  ## 云端直播推流功能
438
531
 
439
532
  > 服务端 3.2.7.0 添加, 要注意使用云端直播推流功能要在后台应用管理中开启该功能
@@ -431,3 +431,12 @@ larksr.on('resourcenotenough', function(e) {
431
431
  */
432
432
  ERROR = 'error',
433
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)` 宽高参数,限定打开摄像头设备的宽高