视频设备管理
介绍跟视频设备管理相关的方法和回调。
getCameraMaxZoomFactor
获取摄像头支持最大缩放比例。
public abstract float getCameraMaxZoomFactor();
- 请在启动摄像头之后调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之后。
返回值
设备摄像头支持的最大缩放比例。
isCameraAutoFocusFaceModeSupported
检测设备是否支持人脸对焦功能。
public abstract boolean isCameraAutoFocusFaceModeSupported();
- 请在启动摄像头之后调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之后。
返回值
true
: 设备支持人脸对焦功能。false
: 设备不支持人脸对焦功能。
isCameraExposurePositionSupported
检测设备是否支持手动曝光功能。
public abstract boolean isCameraExposurePositionSupported();
- 请在启动摄像头之后调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之后。
返回值
true
: 设备支持手动曝光功能。false
: 设备不支持手动曝光功能。
isCameraFaceDetectSupported
检查设备摄像头是否支持人脸检测。
public abstract boolean isCameraFaceDetectSupported();
返回值
true
: 设备摄像头支持人脸检测。false
: 设备摄像头不支持人脸检测。
isCameraFocusSupported
检测设备是否支持手动对焦功能。
public abstract boolean isCameraFocusSupported();
- 请在启动摄像头之后调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之后。
返回值
true
: 设备支持手动对焦功能。false
: 设备不支持手动对焦功能。
isCameraTorchSupported
检测设备是否支持闪光灯常开。
public abstract boolean isCameraTorchSupported();
- 请在启动摄像头之后调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之后。
- 一般情况下,app 默认开启前置摄像头,因此如果你的前置摄像头不支持闪光灯常开,直接使用该方法会返回 false。如果需要检查后置摄像头是否支持闪光灯常开,需要先使用 switchCamera 切换摄像头,再使用该方法。
返回值
true
: 设备支持闪光灯常开。false
: 设备不支持闪光灯常开。
isCameraZoomSupported
检测设备是否支持摄像头缩放功能。
public abstract boolean isCameraZoomSupported();
- 请在启动摄像头之后调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之后。
返回值
true
: 设备支持相机缩放功能。false
: 设备不支持相机缩放功能。
setCameraAutoFocusFaceModeEnabled
设置是否开启人脸对焦功能。
public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled);
SDK 默认关闭人脸自动对焦。如需自行设置人脸自动对焦,请调用该方法。
- 该方法需在摄像头启动后调用,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之后。
参数
- enabled
-
是否开启人脸对焦:
true
: 开启人脸对焦功能。false
: 关闭人脸对焦功能。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setCameraCapturerConfiguration
设置摄像头采集配置。
public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config);
- 请在启动摄像头之前调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之前。
参数
- config
- 摄像头采集配置,详见 CameraCapturerConfiguration。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setCameraExposurePosition
设置手动曝光位置。
public abstract int setCameraExposurePosition(float positionXinView, float positionYinView);
该方法需要在相机启动(如通过调用 startPreview [1/2] 或 joinChannel [2/2] 实现)后调用。
成功调用该方法后,本地会触发 onCameraExposureAreaChanged 回调。
参数
- positionXinView
- 触摸点相对于视图的横坐标。
- positionYinView
- 触摸点相对于视图的纵坐标。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setCameraFocusPositionInPreview
设置手动对焦位置,并触发对焦。
public abstract int setCameraFocusPositionInPreview(float positionX, float positionY);
该方法需要在相机启动(如通过调用 startPreview [1/2] 或 joinChannel [2/2] 实现)后调用。 成功调用该方法后,本地会触发 onCameraFocusAreaChanged 回调。
参数
- positionX
- 触摸点相对于视图的横坐标。
- positionY
- 触摸点相对于视图的纵坐标。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setCameraTorchOn
设置是否打开闪光灯。
public abstract int setCameraTorchOn(boolean isOn);
- 请在启动摄像头之前调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之前。
参数
- isOn
-
是否打开闪光灯:
true
: 打开闪光灯。false
:(默认)关闭闪光灯。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
setCameraZoomFactor
设置摄像头缩放比例。
public abstract int setCameraZoomFactor(float factor);
- 请在启动摄像头之前调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之前。
参数
- factor
- 相机缩放比例,有效范围从 1.0 到最大缩放比例。你可以通过 getCameraMaxZoomFactor 方法获取设备支持的最大缩放比例。
返回值
- 方法调用成功: 返回设置的 factor 值。
- 方法调用失败: 返回值 < 0。
setCameraAutoExposureFaceModeEnabled
设置是否开启自动曝光功能。
- 请在启动摄像头之前调用该方法,如 joinChannel [2/2]、enableVideo 或者 enableLocalVideo 之前。
参数
-
是否开启自动曝光:
true
: 开启自动曝光。false
: 关闭自动曝光。
返回值
switchCamera
切换前置/后置摄像头。
public abstract int switchCamera();
该方法需要在相机启动(如通过调用 startPreview [1/2] 或 joinChannel [2/2] 实现)后调用。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
onCameraExposureAreaChanged
摄像头曝光区域已改变回调。
public void onCameraExposureAreaChanged(Rect rect) {}
该回调是由本地用户调用 setCameraExposurePosition 方法改变曝光位置触发的。
参数
- rect
- 镜头内表示曝光的区域。详见 Rect。
onCameraFocusAreaChanged
相机对焦区域已改变回调。
public void onCameraFocusAreaChanged(Rect rect) {}
该回调是由本地用户调用 setCameraFocusPositionInPreview 方法改变对焦位置触发的。
参数
- rect
- 镜头内表示对焦的区域。详见 Rect。
onCameraReady
摄像头就绪回调。
public void onCameraReady() {}
- 弃用:
-
请改用 onLocalVideoStateChanged 中的 LOCAL_VIDEO_STREAM_STATE_CAPTURING(1)。
该回调提示已成功打开摄像头,可以开始捕获视频。