CameraCapturerConfiguration

  • Unity

更新时间不可用

摄像头采集配置。

C#
public class CameraCapturerConfiguration : IOptionalJsonParse
    {
        public Optional<CAMERA_DIRECTION> cameraDirection = new Optional<CAMERA_DIRECTION>();
        public Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType = new Optional<CAMERA_FOCAL_LENGTH_TYPE>();
        public Optional<string> deviceId = new Optional<string>();
        public Optional<string> cameraId = new Optional<string>();
        public Optional<bool> followEncodeDimensionRatio = new Optional<bool>();
        public VideoFormat format;

        public CameraCapturerConfiguration()
        {
            this.format = new VideoFormat(0, 0, 0);
        }

        public CameraCapturerConfiguration(Optional<CAMERA_DIRECTION> cameraDirection, Optional<CAMERA_FOCAL_LENGTH_TYPE> cameraFocalLengthType, Optional<string> deviceId, Optional<string> cameraId, Optional<bool> followEncodeDimensionRatio, VideoFormat format)
        {
            this.cameraDirection = cameraDirection;
            this.cameraFocalLengthType = cameraFocalLengthType;
            this.deviceId = deviceId;
            this.cameraId = cameraId;
            this.followEncodeDimensionRatio = followEncodeDimensionRatio;
            this.format = format;
        }
    }

属性

参数名描述
cameraDirection

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

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

cameraId

(可选)摄像头 ID。默认为前置摄像头对应的摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见 Camera.open() 和 CameraManager.getCameraIdList()。

注:

  • 该参数仅适用于 Android。

  • 该参数和 cameraDirection 均用于指定摄像头,二者为互斥关系,你可以按需选用其中之一,具体区别如下:

  • 通过 cameraDirection 指定摄像头的方式更为简便。你只需指定摄像头的方向(前置或后置),无需指定具体的摄像头 ID,SDK 会通过系统 API 去检索和确定实际的摄像头 ID。

  • 通过 cameraId 则可以更精确地指定某个特定的摄像头。对于多摄像头的设备,cameraDirection 无法识别或访问全部可用摄像头,这种情况建议使用 cameraId 直接指定你想要的摄像头 ID。

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。

区别为方式一的超广角大小不可调节,方式二支持自由调节相机的缩放比例。

format

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

deviceId

(可选)摄像头的 ID。

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

followEncodeDimensionRatio

(可选)是否跟随 SetVideoEncoderConfiguration 中设置的视频宽高比:

  • true:(默认) 跟随。SDK 会将采集到的视频按照已设置的视频宽高比进行裁剪,会同步改变本地预览画面、OnCaptureVideoFrame 和 OnPreEncodeVideoFrame 中的视频画面。
  • false:不跟随。SDK不改变采集到的视频帧宽高比。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?