视频设备管理

  • C++

更新时间不可用

enableMultiCamera

启用或关闭多摄像头采集功能。

C++
virtual int enableMultiCamera(bool enabled, const CameraCapturerConfiguration& config) = 0;

声网建议你在已有摄像头用于视频采集的场景中,按照以下步骤使用多个摄像头进行视频采集和发布:

  1. 调用该方法启用多摄像头采集。
  2. 调用 startPreview 启动本地视频预览。
  3. 调用 startCameraCapture,并设置 sourceType,以使用第二个摄像头开始采集。
  4. 调用 joinChannelEx,并将 publishSecondaryCameraTrack 设置为 true,以发布第二个摄像头采集的视频流。

若需关闭多摄像头采集,请按以下步骤操作:

  1. 调用 stopCameraCapture。
  2. 调用该方法并将 enabled 设置为 false。

该方法仅适用于 iOS 平台。使用该功能时,请确保系统版本为 13.0 或更高。支持多摄像头采集的最低 iOS 设备型号如下:

  • iPhone XR。
  • iPhone XS。
  • iPhone XS Max。
  • iPad Pro 第三代及更新机型。

注: 你可以在调用 startPreview 之前或之后调用该方法启用多摄像头采集:

  • 如果在调用 startPreview 之前启用,则本地视频预览会同时显示两个摄像头采集的画面。
  • 如果在调用 startPreview 之后启用,SDK 会先停止当前摄像头采集,然后启用主摄像头和第二个摄像头。本地视频预览会短暂变黑,随后自动恢复。

参数

参数名描述
enabled

是否启用多摄像头视频采集模式:

  • true:启用多摄像头采集模式,SDK 使用多个摄像头进行视频采集。
  • false:关闭多摄像头采集模式,SDK 使用单个摄像头进行视频采集。
config

第二个摄像头的采集配置,详见 CameraCapturerConfiguration。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

enumerateVideoDevices

枚举系统中的视频设备。

C++
virtual IVideoDeviceCollection* enumerateVideoDevices() = 0;

该方法返回一个 IVideoDeviceCollection 对象,包含系统中所有可用的视频设备。你可以通过该对象枚举视频设备。使用完该对象后,必须调用 release 方法释放资源。

注: 该方法仅适用于 Windows 和 macOS 平台。

返回值

所属接口类

getCameraMaxZoomFactor

获取摄像头支持的最大变焦倍数。

C++
virtual float getCameraMaxZoomFactor() = 0;

注: 该方法仅适用于 Android 和 iOS 平台。必须在 SDK 触发 onLocalVideoStateChanged 回调,并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用该方法。

返回值

方法调用成功,返回摄像头支持的最大变焦倍数。

所属接口类

getCapability

获取指定视频格式下的视频采集设备的帧信息。

C++
virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0;

调用 numberOfCapabilities 获取视频采集设备支持的视频格式数量后,可调用该方法获取指定索引对应的视频帧信息。

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceIdUTF8

视频采集设备的 ID。

deviceCapabilityNumber

视频格式的索引号。若 numberOfCapabilities 的返回值为 i,则该参数的取值范围为 [0, i)。

capability

输出参数,表示指定视频格式的详细信息,包括宽度(px)、高度(px)和帧率(fps)。详见 VideoFormat。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getCount

获取系统中已索引的视频采集设备总数。

C++
virtual int getCount() = 0;

返回值

方法调用成功,返回系统中已索引的视频采集设备总数。

所属接口类

getDevice

获取指定索引的视频设备的信息。

C++
virtual int getDevice(int index, char deviceNameUTF8[MAX_DEVICE_ID_LENGTH], char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;

参数

参数名描述
index

视频设备的索引值。该值必须小于 getCount 返回的值。

deviceNameUTF8

输出参数,表示设备名称。最大长度为 MAX_DEVICE_ID_LENGTH。

deviceIdUTF8

输出参数,表示视频设备的设备 ID。最大长度为 MAX_DEVICE_ID_LENGTH。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getDevice

获取当前的视频采集设备。

C++
virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceIdUTF8

输出参数,当前视频采集设备的设备 ID。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

isCameraAutoExposureFaceModeSupported

检查设备是否支持自动曝光功能。

C++
virtual bool isCameraAutoExposureFaceModeSupported() = 0;

注: isCameraAutoExposureFaceModeSupported 仅适用于 iOS 平台。必须在 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用。

返回值

true:设备支持自动曝光功能。 false:设备不支持自动曝光功能。

所属接口类

isCameraAutoFocusFaceModeSupported

检查设备是否支持人脸自动对焦功能。

C++
virtual bool isCameraAutoFocusFaceModeSupported() = 0;

注: isCameraAutoFocusFaceModeSupported 仅适用于 Android 和 iOS 平台。必须在 SDK 触发 onLocalVideoStateChanged 回调,并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用该方法。

返回值

true:设备支持人脸自动对焦功能。 false:设备不支持人脸自动对焦功能。

所属接口类

isCameraExposurePositionSupported

检查设备是否支持手动曝光。

C++
virtual bool isCameraExposurePositionSupported() = 0;

自从

自 v2.3.2 版本新增。

注: isCameraExposurePositionSupported 方法仅适用于 Android 和 iOS 平台。你必须在 SDK 触发 onLocalVideoStateChanged 回调,并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用该方法。

返回值

  • true:设备支持手动曝光。
  • false:设备不支持手动曝光。

所属接口类

isCameraExposureSupported

查询当前摄像头是否支持调节曝光值。

C++
virtual bool isCameraExposureSupported() = 0;

自从

自 v4.2.2 版本新增。

注:

  • 该方法仅适用于 Android 和 iOS 平台。
  • 必须在 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用。
  • 在调用 setCameraExposureFactor 之前,建议你先调用该方法查询当前摄像头是否支持调节曝光值。
  • 该方法用于调节当前激活摄像头的曝光值,即调用 setCameraCapturerConfiguration 时指定的摄像头。

返回值

  • true:查询成功。
  • false:查询失败。

所属接口类

isCameraFaceDetectSupported

检查设备摄像头是否支持人脸检测。

C++
virtual bool isCameraFaceDetectSupported() = 0;

注: isCameraFaceDetectSupported 仅适用于 Android 和 iOS 平台。必须在 SDK 触发 onLocalVideoStateChanged 回调,并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用该方法。

返回值

true:设备摄像头支持人脸检测。 false:设备摄像头不支持人脸检测。

所属接口类

isCameraFocusSupported

检查设备是否支持手动对焦功能。

C++
virtual bool isCameraFocusSupported() = 0;

注: isCameraFocusSupported 仅适用于 Android 和 iOS 平台。你必须在 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用该方法。

返回值

  • true:设备支持手动对焦功能。
  • false:设备不支持手动对焦功能。

所属接口类

isCameraTorchSupported

检查设备是否支持摄像头闪光灯。

C++
virtual bool isCameraTorchSupported() = 0;

注: isCameraTorchSupported 仅适用于 Android 和 iOS 平台。必须在 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用该方法。App 默认启用前置摄像头。如果前置摄像头不支持闪光灯,该方法返回 false。如果你想检查后置摄像头是否支持闪光灯功能,请在调用该方法前调用 switchCamera。iOS 15 系统版本的 iPad 上,即使 isCameraTorchSupported 返回 true,由于系统问题,调用 setCameraTorchOn 可能无法成功打开闪光灯。

返回值

  • true:设备支持摄像头闪光灯。
  • false:设备不支持摄像头闪光灯。

所属接口类

isCameraZoomSupported

检查设备是否支持摄像头变焦。

C++
virtual bool isCameraZoomSupported() = 0;

注: isCameraZoomSupported 方法仅适用于 Android 和 iOS 平台。

调用时机

必须在 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用该方法。

返回值

true:设备支持摄像头变焦。 false:设备不支持摄像头变焦。

所属接口类

numberOfCapabilities

获取指定视频采集设备支持的视频格式数量。

C++
virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0;

你可以调用该方法获取指定视频采集设备支持的视频格式数量,然后调用 getCapability 获取对应的视频帧信息。视频采集设备可能支持多种视频格式,每种格式包含不同的视频帧宽度、高度和帧率组合。

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceIdUTF8

视频采集设备的 ID。

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

返回值

  • > 0:方法调用成功,返回该设备支持的视频格式数量。例如,如果指定摄像头支持 10 种不同的视频格式,返回值为 10。
  • ≤ 0:方法调用失败。

所属接口类

queryCameraFocalLengthCapability

查询摄像头支持的焦距能力。

C++
virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0;

如果你希望在视频采集中启用广角或超广角模式,建议先调用该方法检查设备是否支持所需的焦距能力。然后根据查询结果调用 setCameraCapturerConfiguration 方法调整摄像头的焦距配置,以获得最佳的视频采集效果。

注: 该方法仅适用于 Android 和 iOS 平台。

参数

参数名描述
focalLengthInfos

输入和输出参数,表示 FocalLengthInfo 对象数组的指针。方法执行后,填充查询到的焦距信息。详见 FocalLengthInfo。

size

输入和输出参数,表示焦距信息项的数量。输入时指定 focalLengthInfos 可容纳的最大焦距信息项数量,该值应不小于 8。输出时返回实际获取的焦距信息项数量。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

queryCodecCapability

查询 SDK 支持的视频编解码器能力。

C++
virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0;

参数

参数名描述
codecInfo

输入和输出参数,表示 SDK 支持的视频编解码器能力数组。你在调用该方法时传入一个 CodecCapInfo 数组,表示要查询的视频编解码器能力。方法执行完毕后,该数组将被填充为 SDK 实际支持的视频编解码器能力。详见 CodecCapInfo。

size

输入和输出参数,表示 codecInfo 数组的大小。你在调用该方法时传入 codecInfo 的大小。方法执行完毕后,该值将被更新为实际返回的 codecInfo 数组大小。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

release

释放 IVideoDeviceCollection 对象占用的所有资源。

C++
virtual void release() = 0;

所属接口类

release

释放 IVideoDeviceManager 对象占用的所有资源。

C++
virtual void release() = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

所属接口类

setCameraAutoExposureFaceModeEnabled

设置是否启用自动曝光功能。

C++
virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0;

注: 该方法仅适用于 iOS 平台。你必须在调用 enableVideo 方法之后再调用本方法。设置将在成功开启摄像头后生效,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后。

参数

参数名描述
enabled

是否启用自动曝光:

  • true:启用自动曝光。
  • false:关闭自动曝光。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraAutoFocusFaceModeEnabled

启用摄像头人脸自动对焦功能。

C++
virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0;

默认情况下,SDK 在 Android 上禁用人脸自动对焦,在 iOS 上启用。你可以调用该方法设置是否启用人脸自动对焦功能。

注: 此方法仅适用于 Android 和 iOS 平台。

调用时机

必须在 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后调用。

参数

参数名描述
enabled

是否启用人脸自动对焦功能:

  • true:启用摄像头人脸自动对焦功能。
  • false:关闭人脸自动对焦功能。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraCapturerConfiguration

设置摄像头采集配置。

C++
virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0;

在启用本地摄像头采集之前调用该方法,例如调用 startPreview 或 joinChannel 之前。

注: 如需调整摄像头焦距配置,建议先调用 queryCameraFocalLengthCapability 查询设备的焦距能力,并根据查询结果进行配置。由于部分 Android 设备的限制,即使根据 queryCameraFocalLengthCapability 返回的结果设置了焦距类型,设置也可能不会生效。

调用时机

在启用本地摄像头采集之前调用,例如调用 startPreview 或 joinChannel 之前。

参数

参数名描述
config

摄像头采集配置。详见 CameraCapturerConfiguration。

注: 在该方法中,无需设置 deviceId 参数。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraDeviceOrientation

设置采集视频的旋转角度。

C++
virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0;

注: 该方法仅适用于 Windows 平台。你必须在调用 enableVideo 之后再调用该方法。设置将在摄像头成功开启后生效,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后生效。当视频采集设备不具备重力感应功能时,你可以调用该方法手动调整采集视频的旋转角度。

参数

参数名描述
type

视频源类型,详见 VIDEO_SOURCE_TYPE。

orientation

顺时针旋转角度,详见 VIDEO_ORIENTATION。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraExposureFactor

设置摄像头曝光值。

C++
virtual int setCameraExposureFactor(float factor) = 0;

自从

自 v4.2.2 版本新增。

注:

  • 该方法仅适用于 Android 和 iOS 平台。
  • 你必须在调用 enableVideo 后再调用该方法。设置结果在摄像头成功开启后生效,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)后。
  • 在调用该方法前,声网建议调用 isCameraExposureSupported 检查当前摄像头是否支持调整曝光值。
  • 该方法用于调整当前激活摄像头的曝光值,即调用 setCameraCapturerConfiguration 时指定的摄像头。

参数

参数名描述
factor

摄像头曝光值。默认值为 0,表示使用摄像头的默认曝光值。值越大,曝光越强。当视频图像过曝时,可以降低曝光值;当视频图像曝光不足且暗部细节丢失时,可以提高曝光值。如果设置的曝光值超出设备支持的范围,SDK 会自动将其调整为设备实际支持的范围。

注:

  • 在 Android 上,取值范围为 [-20.0, 20.0]。
  • 在 iOS 上,取值范围为 [-8.0, 8.0]。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraExposurePosition

设置相机曝光位置。

C++
virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0;

自从

自 v2.3.2 版本新增。

注:

  • setCameraExposurePosition 仅适用于 Android 和 iOS 平台。
  • 你必须在调用 enableVideo 方法之后再调用该方法。
  • 设置将在相机成功开启后生效,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)时生效。

相关回调

成功调用该方法后,SDK 会触发 onCameraExposureAreaChanged 回调。

参数

参数名描述
positionXinView

视图中触摸点的水平坐标。

positionYinView

视图中触摸点的垂直坐标。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraFocusPositionInPreview

设置摄像头手动对焦位置。

C++
virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0;

你必须在调用 enableVideo 之后再调用该方法。设置将在摄像头成功开启后生效,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)时。方法调用成功后,SDK 会触发 onCameraFocusAreaChanged 回调。

注: 该方法仅适用于 Android 和 iOS 平台。

相关回调

成功调用该方法后,SDK 会触发 onCameraFocusAreaChanged 回调。

参数

参数名描述
positionX

视图中触摸点的水平坐标。

positionY

视图中触摸点的垂直坐标。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraTorchOn

打开或关闭摄像头闪光灯。

C++
virtual int setCameraTorchOn(bool isOn) = 0;

注: setCameraTorchOn 仅适用于 Android 和 iOS 平台。你必须在调用 enableVideo 之后再调用该方法。设置结果会在摄像头成功开启后生效,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)之后。

参数

参数名描述
isOn

是否打开摄像头闪光灯:

  • true:打开闪光灯。
  • false:(默认)关闭闪光灯。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setCameraZoomFactor

设置摄像头变焦倍数。

C++
virtual int setCameraZoomFactor(float factor) = 0;

对于配备多镜头后置摄像头的 iOS 设备,例如双摄(广角和超广角)或三摄(广角、超广角和长焦)设备,你可以先调用 setCameraCapturerConfiguration 方法,将 cameraFocalLengthType 设置为 CAMERA_FOCAL_LENGTH_DEFAULT(0)(标准镜头),然后将变焦倍数设置为小于 1.0 的值,以实现超广角视角的视频采集。

注:

  • 该方法仅适用于 Android 和 iOS 平台。
  • 你必须在调用 enableVideo 方法之后再调用该方法。设置将在摄像头成功开启后生效,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)之后。

参数

参数名描述
factor

摄像头变焦倍数。你可以调用 getCameraMaxZoomFactor 方法获取设备支持的最大变焦倍数。

注: 对于不支持超广角的设备,该值范围为 1.0 到设备支持的最大变焦倍数;对于支持超广角的设备,该值范围为 0.5 到设备支持的最大变焦倍数。

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

返回值

  • 0:方法调用成功,返回设置的摄像头变焦倍数。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setDevice

指定设备 ID 对应的设备。

C++
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;

参数

参数名描述
deviceIdUTF8

设备 ID。插拔音频设备不会改变该值。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setDevice

指定视频采集设备的设备 ID。

C++
virtual int setDevice(const char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0;

参数

参数名描述
deviceIdUTF8

设备 ID。你可以通过调用 enumerateVideoDevices 获取该值。最大长度为 MAX_DEVICE_ID_LENGTH。

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

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

switchCamera

切换前后摄像头。

C++
virtual int switchCamera() = 0;

你可以调用此方法在应用运行过程中根据实际可用的摄像头动态切换前后摄像头,无需重启视频流或重新配置视频源。

注:

  • 此方法仅切换由第一个摄像头采集的视频流的摄像头,即调用 startCameraCapture 时视频源设置为 VIDEO_SOURCE_CAMERA(0)的视频流。
  • 此方法仅适用于 Android 和 iOS 平台。

调用时机

必须在摄像头成功启用后调用,即 SDK 触发 onLocalVideoStateChanged 回调并返回本地视频状态为 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)之后。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

onCameraExposureAreaChanged

摄像头曝光区域发生变化回调。

C++
virtual void onCameraExposureAreaChanged(int x, int y, int width, int height)

当本地用户调用 setCameraExposurePosition 更改摄像头曝光位置时,SDK 会触发该回调。

注: 该回调仅适用于 Android 和 iOS 平台。

参数

参数名描述
x

更改后曝光区域的 x 坐标。

y

更改后曝光区域的 y 坐标。

width

更改后曝光区域的宽度。

height

更改后曝光区域的高度。

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

所属接口类

onCameraFocusAreaChanged

onCameraFocusAreaChanged 回调。当摄像头对焦区域发生变化时触发。

C++
virtual void onCameraFocusAreaChanged(int x, int y, int width, int height)

注: 该回调仅适用于 Android 和 iOS 平台。

参数

参数名描述
x

对焦区域变化后的 x 坐标。

y

对焦区域变化后的 y 坐标。

width

对焦区域变化后的宽度。

height

对焦区域变化后的高度。

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

所属接口类

onCameraReady

onCameraReady 回调:当摄像头打开并准备好采集视频时触发。

C++
virtual void onCameraReady() __deprecated {}

废弃

该方法已废弃,请改用 onLocalVideoStateChanged 中的 LOCAL_VIDEO_STREAM_STATE_CAPTURING。

所属接口类

onVideoDeviceStateChanged

视频设备状态变化回调。

C++
virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState)

该回调用于报告系统视频设备的状态变化,例如设备被拔出或移除。在 Windows 设备上,如果使用外接摄像头进行视频采集,当外接摄像头被拔出时,视频功能将被禁用。

注: 该回调仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

设备 ID。

deviceType

媒体设备类型,详见 MEDIA_DEVICE_TYPE。

deviceState

媒体设备状态,详见 MEDIA_DEVICE_STATE_TYPE。

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

所属接口类