跳到主要内容

摄像头

打开/关闭摄像头

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

提示

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

  • 示例代码:

    设置回调

    engine.onEnableCamera = (bool enable, int code, String? errMsg) {
    if (code != 0) {
    // 操作失败
    } else {
    // 操作成功
    }
    };

    开启摄像头

    engine.enableCamera(true);

    开启指定摄像头

    engine.enableCamera(true, RCRTCCamera.back);

    关闭摄像头

    engine.enableCamera(false);

切换摄像头

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

  • 示例代码:

    设置回调

    engine.onSwitchCamera = (RCRTCCamera camera, int code, String? errMsg) {
    if (code != 0) {
    // 切换失败
    } else {
    // 切换成功
    }
    };

    切换摄像头

    engine.switchCamera();

设置视频参数

调用 RCRTCEngine 下的 setVideoConfig 设置视频参数。视频参数对象通过 RCRTCVideoConfig.create() 方法来创建。

  • 示例代码:

    RCRTCVideoConfig config = RCRTCVideoConfig.create(
    minBitrate: 500,
    maxBitrate: 2200,
    fps: RCRTCVideoFps.fps_24,
    resolution: RCRTCVideoResolution.resolution_720_1280,
    mirror: false,
    );
    engine.setVideoConfig(config);

手动对焦

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

提示

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

  • 示例代码:

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

区域测光

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

提示

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

  • 示例代码:

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

采集方向

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

  • 示例代码:

    engine.setCameraCaptureOrientation(RCRTCCameraCaptureOrientation.landscape_right);