摄像头设置
开关摄像头
在通话建立之后打开/关闭摄像头。
方法
JavaScript
CallLib.enableCamera();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
isOpen | Boolean | 是 | 是否开启摄像头 |
RCCallIWCamera | Number | 是 | 0: 未指定,1: 前置相机,2: 后置相机 |
示例代码
JavaScript
// 打开前置摄像头
CallLib.enableCamera(true, 1);
// 打开后置摄像头
CallLib.enableCamera(true, 2);
// 关闭摄像头
CallLib.enableCamera(false, 0);
切换前后置摄像头
在通话建立之后切换前后置摄像头,该方法适用于通过 SDK 打开 默认摄像头 的场景,视频默认打开前置摄像头。
方法
JavaScript
CallLib.switchCamera();
示例代码
JavaScript
// 切换前后置摄像头
CallLib.switchCamera();
视频参数设置
在通话前,使用 CallLib 中的 setVideoConfig
方法可以设置本地摄像头视频预览视图是否镜像显示。注意,该方法不影响远端的显示。
方法
JavaScript
CallLib.setVideoConfig();
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
profile | RCCallIWVideoProfile | 否 | 通话视频参数 |
defaultCamera | RCCallIWCamera | 否 | 默认打开的摄像头 |
cameraOrientation | RCCallIWCameraOrientation | 否 | 摄像头方向 |
isPreviewMirror | Boolean | 否 | 本地摄像头 采集是否镜像 |
enableHardwareDecoder | Boolean | 否 | 是否采用硬解码,仅 Android 生效 |
hardwareDecoderColor | Number | 否 | 设置解码颜色空间,仅 Android 生效 |
enableHardwareEncoder | Boolean | 否 | 设备是否采用硬编码,仅 Android 生效 |
enableHardwareEncoderHighProfile | Boolean | 否 | 设置硬编码压缩等级是否为 MediaCodecInfo.CodecProfileLevel.AVCProfileHigh,仅 Android 生效 |
hardWareEncoderColor | Number | 否 | 设置硬解码颜色空间,该值必须是本设备H264解码器所支持的值,可以通过获取本机所支持的编解码器、颜色空间信息,仅 Android 生效 |
hardwareEncoderFrameRate | Number | 否 | 设置系统硬编码器的编码帧率,仅 Android 生效 |
hardwareEncoderBitrateMode | RCCallIWVideoBitrateMode | 否 | 设置硬编码码率控制模式,仅 Android 系统 5.0 及以上版本设置有效,仅 Android 生效 |
示例代码
JavaScript
// 导包方式如下,按需导入即可
import {
RCCallIWCallType,
RCCallIWCamera,
RCCallIWVideoProfile,
RCCallIWCameraOrientation,
RCCallIWVideoBitrateMode
} from "../../uni_modules/RongCloud-CallWrapper/lib";
// 基础配置示例
CallLib.setVideoConfig({
profile: RCCallIWVideoProfile.PROFILE_720_1280, // 通话视频参数,默认 480_640
defaultCamera: RCCallIWCamera.FRONT, // 默认打开的摄像头,默认前置
isPreviewMirror: true // true:镜像 false: 非镜像,没有特殊需求不用设置
});
// 完整配置示例
CallLib.setVideoConfig({
profile: RCCallIWVideoProfile.PROFILE_720_1280, // 通话视频参数
defaultCamera: RCCallIWCamera.FRONT, // 默认打开的摄像头
cameraOrientation: RCCallIWCameraOrientation.PORTRAIT, // 摄像头方向
isPreviewMirror: true, // 本地摄像头采集是否镜像
enableHardwareDecoder: true, // 是否采用硬解码,仅 Android 生效,默认是true
enableHardwareEncoder: true, // 设备是否采用硬编码,仅 Android 生效,默认是true
hardwareDecoderColor: 0, // 设置解码颜色空间,仅 Android 生效
enableHardwareEncoderHighProfile: false, // 设置硬编码压缩等级,仅 Android 生效
hardWareEncoderColor: 0, // 设置硬解码颜色空间,仅 Android 生效
hardwareEncoderFrameRate: 30, // 设置系统硬编码器的编码帧率,仅 Android 生效
hardwareEncoderBitrateMode: RCCallIWVideoBitrateMode.BITRATE_MODE_CBR // 设置硬编码码率控制模式,仅 Android 生效
});