CameraCapturerConfiguration

  • C++

更新时间不可用

配置摄像头采集偏好。

C++
struct CameraCapturerConfiguration {
#if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) || defined(__OHOS__)
  Optional<CAMERA_DIRECTION> cameraDirection;
  Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType;
#else
  Optional<const char *> deviceId;
#endif
#if defined(__ANDROID__)
  Optional<const char *> cameraId;
#endif
  Optional<bool> followEncodeDimensionRatio;
  VideoFormat format;
};

属性

参数名描述
cameraDirection

(可选)摄像头方向,详见 CAMERA_DIRECTION。

注: 该参数仅适用于 Android 和 iOS 平台。

cameraFocalLengthType

(可选)摄像头焦距类型,详见 CAMERA_FOCAL_LENGTH_TYPE。

注: 该参数仅适用于 Android 和 iOS 平台。

  • 设置摄像头焦距类型时,仅支持通过 cameraDirection 指定摄像头,不支持通过 cameraId 指定。

  • 对于配备多镜头后置摄像头的 iOS 设备(如双摄:广角和超广角,或三摄:广角、超广角和长焦),可通过以下方式实现超广角视角的视频采集:

    • 方法一:将该参数设置为 CAMERA_FOCAL_LENGTH_ULTRA_WIDE(2)(超广角镜头)。
    • 方法二:将该参数设置为 CAMERA_FOCAL_LENGTH_DEFAULT(0)(标准镜头),然后调用 setCameraZoomFactor 将摄像头变焦因子设置为小于 1.0 的值,最小为 0.5。

两种方法的区别在于,方法一的超广角尺寸不可调节,而方法二支持自由调节变焦因子。

deviceId

摄像头 ID,最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

注: 该参数仅适用于 Windows 和 macOS 平台。

cameraId

(可选)摄像头 ID。

注: 该参数仅适用于 Android 平台。

  • 该参数与 cameraDirection 互斥,二者只能选其一。
  • 使用 cameraDirection 指定摄像头更为简便,仅需指定摄像头方向(前置或后置),SDK 会通过 Android 原生 API 获取并确认实际摄像头 ID。
  • 使用 cameraId 可更精确地指定某个摄像头,适用于多摄像头设备中 cameraDirection 无法识别或访问所有摄像头的场景,建议直接使用 cameraId 指定目标摄像头。
followEncodeDimensionRatio

(可选)是否遵循 setVideoEncoderConfiguration 中设置的视频宽高比:

  • true:(默认)遵循设置的视频宽高比。SDK 会根据设置的视频宽高比裁剪采集的视频,并同步更新本地预览画面以及 onCaptureVideoFrame 和 onPreEncodeVideoFrame 中的视频帧。
  • false:不遵循设置的视频宽高比。SDK 不会更改采集视频帧的宽高比。
format

(可选)视频帧的格式,详见 VideoFormat。

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

这个页面有帮助吗?