摄像头采集
setCameraStabilizationMode:
设置摄像头防抖模式。
Objective-C
- (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:));
你需要调用该方法以开启防抖功能并设置合适的防抖模式。摄像头防抖模式默认关闭。
信息
- 摄像头防抖仅适用于分辨率大于 1280 × 720 的场景。
- 启用摄像头防抖后,防抖等级越高,摄像头的视野越小,延迟越大。为提升用户体验,建议将
mode参数设置为AgoraCameraStabilizationModeLevel1。
适用场景
在移动拍摄、低光环境或使用移动设备时,可以设置摄像头防抖模式,以减少抖动带来的影响,获得更稳定清晰的画面。
调用时机
你必须在摄像头成功开启后调用该方法,即 SDK 触发 rtcEngine:localVideoStateChangedOfState:reason:sourceType: 回调并返回本地视频状态为 AgoraVideoLocalStateCapturing(1)之后。
参数
- mode
- 摄像头防抖模式,详见 AgoraCameraStabilizationMode。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
startCameraCapture:config:
开始视频采集。
Objective-C
- (int)startCameraCapture:(AgoraVideoSourceType)sourceType config:(AgoraCameraCapturerConfiguration * _Nullable)config NS_SWIFT_NAME(startCameraCapture(_:config:));
你可以调用此方法并指定 sourceType 来开始从一个或多个摄像头进行视频采集。
信息
参数
- sourceType
- 视频源的类型,详见 AgoraVideoSourceType。在 iOS 上,如果设备有多个摄像头或支持外接摄像头,你最多可以从 2 个摄像头采集视频。在 macOS 上,你最多可以从 4 个摄像头采集视频。
- config
- 视频采集的配置。在 iOS 上,此参数无实际作用。请使用 enableMultiCamera:config: 中的
config参数来设置视频采集配置。详见 AgoraCameraCapturerConfiguration。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
stopCameraCapture:
停止视频采集。
Objective-C
- (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:));
调用 startCameraCapture:config: 方法通过一个或多个摄像头开始视频采集后,你可以调用该方法并设置
sourceType 参数以停止指定摄像头的视频采集。 - 如果你正在使用本地视频合流功能,调用该方法可能会导致本地视频合流中断。
- 在 iOS 上,如果你想禁用多摄像头采集,需要在调用该方法后调用
enableMultiCamera:并将enabled设置为 NO。
参数
- sourceType
- 视频源的类型,详见 AgoraVideoSourceType。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。