跳到主要内容

摄像头

打开/关闭摄像头

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

提示

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

  • 示例代码:

    设置回调

    engine.setOnCameraEnabledListener(({enable, code, message}) => {
    if (code === 0) {
    // 操作成功
    } else {
    // 操作失败
    }
    });

    开启摄像头

    engine.enableCamera(true);

    开启指定摄像头

    engine.enableCamera(true, RCRTCCamera.Back);

    关闭摄像头

    engine.enableCamera(false);

切换摄像头

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

  • 示例代码:

    设置回调

    engine.setOnSwitchCameraListener(({camera, code, message}) => {
    if (code === 0) {
    // 切换成功
    } else {
    // 切换失败
    }
    });

    切换摄像头

    engine.switchCamera();

设置视频参数

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

  • 示例代码:

    let config = {
    minBitrate: 500,
    maxBitrate: 2200,
    fps: RCRTCVideoFps.Fps24,
    resolution: RCRTCVideoResolution.Resolution_720x1280,
    mirror: false,
    };
    engine.setVideoConfig(config);

手动对焦

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

提示

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

  • 示例代码:

    let supported = engine.isCameraFocusSupported();
    if (supported) {
    engine.setCameraFocusPositionInPreview(100, 100);
    }

区域测光

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

提示

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

  • 示例代码:

    bool supported = engine.isCameraExposurePositionSupported();
    if (supported) {
    engine.setCameraExposurePositionInPreview(100, 100);
    }

采集方向

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

  • 示例代码:

    engine.setCameraCaptureOrientation(RCRTCCameraCaptureOrientation.LandscapeRight);