摄像头采集

  • Flutter

更新时间不可用

setCameraStabilizationMode

设置摄像头防抖模式。

Dart
Future<void> setCameraStabilizationMode(CameraStabilizationMode mode);

摄像头防抖模式默认关闭,你需要调用该方法开启并设置合适的防抖模式。

注: 该方法仅适用于 iOS。

  • 摄像头防抖只对视频分辨率大于 1280 × 720 以上的场景生效。
  • 开启摄像头防抖后,摄像头防抖等级越高,相机的视角就越小、相机时延就越大。为保障用户体验,建议你将 mode 参数设置为 cameraStabilizationModeLevel1。

适用场景

在移动拍摄、暗光环境拍摄、手持拍摄时,你可以设置摄像头防抖模式,以减小摄像头晃动导致的影响,获得更加稳定、清晰的画面。

调用时机

该方法必须在摄像头成功开启后调用,即 SDK 触发 onLocalVideoStateChanged 回调,返回本地视频状态为 localVideoStreamStateCapturing (1) 后。

参数

参数名描述
mode

摄像头的防抖模式。详见 CameraStabilizationMode。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。

所属接口类

startCameraCapture

开始通过摄像头采集视频。

Dart
Future<void> startCameraCapture(
      {required VideoSourceType sourceType,
      required CameraCapturerConfiguration config});

调用该方法可以通过指定 sourceType 同时开启多路摄像头采集。

注: 在 iOS 平台上调用该方法前,如果要开启多路摄像头采集,需要在调用该方法前,先调用 enableMultiCamera 并设置 enabled 为 true。

参数

参数名描述
sourceType

视频源的类型。详见 VideoSourceType。

注:

  • iOS 设备最多支持 2 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
  • Android 设备最多支持 4 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
  • 桌面端最多支持 4 路摄像头采集的视频流。
config

视频采集配置。详见 CameraCapturerConfiguration。

注: 在 iOS 平台上,该参数无实际作用。请使用 enableMultiCamera 中的 config 参数设置视频采集配置。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

所属接口类

stopCameraCapture

停止通过摄像头采集视频。

Dart
Future<void> stopCameraCapture(VideoSourceType sourceType);

调用 startCameraCapture 开启一路或多路摄像头采集的视频流后,你可以调用该方法,通过设置 sourceType 停止一路或多路摄像头的视频采集。

注: 在 iOS 平台上,如果要关闭多路摄像头采集,需要在调用该方法之后调用 enableMultiCamera 并设置 enabled 为 false。 如果你正在使用本地合图功能,调用该方法停止通过第一个摄像头采集视频,会造成本地合图中断。

参数

参数名描述
sourceType

视频源的类型,详见 VideoSourceType。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。

所属接口类