跳到主要内容

摄像头

打开/关闭摄像头

调用 RCRTCEngine 下的 enableCamera 打开/关闭摄像头。默认开启前置摄像头,可以通过传入第二个参数指定开启的摄像头。

提示

对于 Android 嵌入式设备或使用外接摄像头的情况,建议设置 setOnCameraEnabledListener 回调方法以确保设备开启成功。

设置摄像头状态监听

方法

JavaScript
engine.setOnCameraEnabledListener();

回调参数

参数类型说明
enableBoolean是否启用摄像头
codeNumber错误码,0 表示成功
messageString错误信息

示例代码

JavaScript
engine.setOnCameraEnabledListener(({enable, code, message}) => {
if (code === 0) {
// 操作成功
console.log('摄像头操作成功,状态:', enable);
} else {
// 操作失败
console.log('摄像头操作失败:', message);
}
});

开启/关闭摄像头

方法

JavaScript
engine.enableCamera();

参数说明

参数类型必填说明
enabledBoolean是否启用摄像头
cameraRCRTCCamera摄像头类型,默认前置摄像头

示例代码

开启摄像头
JavaScript
engine.enableCamera(true);
console.log('开启摄像头');
开启指定摄像头
JavaScript
engine.enableCamera(true, RCRTCCamera.Back);
console.log('开启后置摄像头');
关闭摄像头
JavaScript
engine.enableCamera(false);
console.log('关闭摄像头');

切换摄像头

调用 RCRTCEngine 下的 switchCamera 切换前后摄像头。通过设置 setOnSwitchCameraListener 回调方法来监听是否成功切换摄像头。

设置切换摄像头监听

方法

JavaScript
engine.setOnSwitchCameraListener();

回调参数

参数类型说明
cameraRCRTCCamera切换后的摄像头类型
codeNumber错误码,0 表示成功
messageString错误信息

示例代码

JavaScript
engine.setOnSwitchCameraListener(({camera, code, message}) => {
if (code === 0) {
// 切换成功
console.log('摄像头切换成功:', camera);
} else {
// 切换失败
console.log('摄像头切换失败:', message);
}
});

切换摄像头

方法

JavaScript
engine.switchCamera();

示例代码

JavaScript
engine.switchCamera();
console.log('切换摄像头');

设置视频参数

调用 RCRTCEngine 下的 setVideoConfig 设置视频参数。

方法

JavaScript
engine.setVideoConfig();

参数说明

参数类型必填说明
configRCRTCVideoConfig视频配置参数

示例代码

JavaScript
let config = {
minBitrate: 500,
maxBitrate: 2200,
fps: RCRTCVideoFps.Fps24,
resolution: RCRTCVideoResolution.Resolution_720x1280,
mirror: false,
};
engine.setVideoConfig(config);
console.log('视频参数设置成功');

手动对焦

调用 RCRTCEngine 下的 isCameraFocusSupported 来判断摄像头是否支持区域对焦。

提示

对于支持的设备,可调用 setCameraFocusPositionInPreview 进行手动对焦,设置对焦的坐标原点为视频区域的左上角。

检查对焦支持

方法

JavaScript
engine.isCameraFocusSupported();

返回值

参数类型说明
supportedBoolean是否支持区域对焦

示例代码

JavaScript
let supported = engine.isCameraFocusSupported();
if (supported) {
engine.setCameraFocusPositionInPreview(100, 100);
console.log('设置手动对焦成功');
} else {
console.log('设备不支持手动对焦');
}

区域测光

调用 RCRTCEngine 下的 isCameraExposurePositionSupported 来判断摄像头是否支持区域测光。

提示

对于支持的设备,可调用 setCameraExposurePositionInPreview 进行区域测光设置,设置测光的坐标原点为视频区域的左上角。

检查测光支持

方法

JavaScript
engine.isCameraExposurePositionSupported();

返回值

参数类型说明
supportedBoolean是否支持区域测光

示例代码

JavaScript
let supported = engine.isCameraExposurePositionSupported();
if (supported) {
engine.setCameraExposurePositionInPreview(100, 100);
console.log('设置区域测光成功');
} else {
console.log('设备不支持区域测光');
}

采集方向

调用 RCRTCEngine 下的 setCameraCaptureOrientation 来设置摄像头采集角度。

方法

JavaScript
engine.setCameraCaptureOrientation();

参数说明

参数类型必填说明
orientationRCRTCCameraCaptureOrientation摄像头采集方向

示例代码

JavaScript
engine.setCameraCaptureOrientation(RCRTCCameraCaptureOrientation.LandscapeRight);
console.log('设置摄像头采集方向成功');