Video Settings

本文档主要介绍如何使用 RTC Room Engine SDK 实现 视频设置相关功能。

前提条件

在使用RTC Room Engine SDK 提供的视频设置相关功能之前,您需要先 登录SDK

使用指引

开启/关闭本地摄像头

iOS
Android
您可以分别通过调用openLocalCameracloseLocalCamera两个接口,来开启或关闭您本地的摄像头。
openLocalCamera 接口需要传入 选择前后置摄像头 isFront 和 视频质量 quality 两个参数。isFront 为布尔值,true为打开前置摄像头,false为打开后置摄像头。qualityTUIVideoQuality 类型的枚举。
枚举值类型
含义
quality360P
低清360P
quality540P
标清540P
quality720P
高清720P
quality1080P
超清1080P
下面以打开前置摄像头并且视频质量为 quality1080P为例,提供了开启本地麦克风和关闭本地摄像头的示例代码。
您可以分别通过调用openLocalCameracloseLocalCamera两个接口,来开启或关闭您本地的摄像头。
openLocalCamera 接口需要传入 选择前后置摄像头 isFront 和 视频质量 quality 两个参数。isFront 为布尔值,true为打开前置摄像头,false为打开后置摄像头。qualityVideoQuality 类型的枚举。
枚举值类型
含义
Q_360P
低清360P
Q_540P
标清540P
Q_720P
高清720P
Q_1080P
超清1080P
下面以打开前置摄像头并且视频质量为 Q_1080P为例,提供了开启本地麦克风和关闭本地摄像头的示例代码。
iOS
Android
import RTCRoomEngine

let roomEngine = TUIRoomEngine.sharedInstance()

// 开启本地摄像头
let isFrontCamera = true
let videoQuality: TUIVideoQuality = .quality1080P
roomEngine.openLocalCamera(isFront: isFrontCamera, quality: videoQuality) {
// 开启成功
} onError: { code, message in
// 开启失败
}

// 关闭本地摄像头
roomEngine.closeLocalCamera()
TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();

// 开启本地摄像头
boolean isFrontCamera = true;
TUIRoomDefine.VideoQuality videoQuality = TUIRoomDefine.VideoQuality.Q_1080P;
roomEngine.openLocalCamera(isFrontCamera, videoQuality, new TUIRoomDefine.ActionCallback() {
@Override
public void onSuccess() {
// 开启成功
}
@Override
public void onError(TUICommonDefine.Error error, String message) {
// 开启失败
}
});

// 关闭本地摄像头
roomEngine.closeLocalCamera();

设置本地视频画面镜像

以下是一个开启本地视频画面镜像的示例,您可以通过以下代码开启/关闭本地视频画面的镜像。
iOS
Android
import RTCRoomEngine
import TXLiteAVSDK_Professional

let trtcCloud = TUIRoomEngine.sharedInstance().getTRTCCloud()

let params = TRTCRenderParams()
params.mirrorType = .enable // 关闭镜像时,将此处参数设置为 .disable 即可
trtcCloud.setLocalRenderParams(params)
trtcCloud.setVideoEncoderMirror(true)
TRTCCloud trtcCloud = TUIRoomEngine.sharedInstance().getTRTCCloud();
TRTCCloudDef.TRTCRenderParams params = new TRTCCloudDef.TRTCRenderParams();
params.mirrorType = TRTC_VIDEO_MIRROR_TYPE_ENABLE; // 关闭镜像时,将此处参数设置为 TRTC_VIDEO_MIRROR_TYPE_DISABLE 即可
trtcCloud.setLocalRenderParams(params);
trtcCloud.setVideoEncoderMirror(true);

切换摄像头

调用switchCamera接口切换摄像头时,需要传入一个 Bool 参数frontCamera,传入 true 时切换为前置摄像头,传入 false 时切换为后置摄像头。以下是切换为前置摄像头的示例代码:
iOS
Android
import RTCRoomEngine

TUIRoomEngine.sharedInstance().getMediaDeviceManager().switchCamera(true)
TUIRoomEngine.sharedInstance().getMediaDeviceManager().switchCamera(true);

更新本地视频编码质量

iOS
Android
更新本地视频编码质量时,需要传入的参数类型TUIVideoQuality 与上文中提到的相同。下面以默认模式为例,调用updateVideoQuality接口更新本地视频的编码质量:
import RTCRoomEngine

let videoQuality: TUIVideoQuality = .quality1080P
TUIRoomEngine.sharedInstance().updateVideoQuality(videoQuality)
更新本地视频编码质量时,需要传入的参数类型VideoQuality 与上文中提到的相同。下面以默认模式为例,调用updateVideoQuality接口更新本地视频的编码质量:
TUIRoomDefine.VideoQuality videoQuality = TUIRoomDefine.VideoQuality.Q_1080P;
TUIRoomEngine.sharedInstance().updateVideoQuality(videoQuality);

开始/停止推送本地视频

当您在直播间内时,您可能需要开始/停止推送您的本地视频,您可以通过调用以下接口来实现:
iOS
Android
import RTCRoomEngine

let roomEngine = TUIRoomEngine.sharedInstance()

// 开始推送本地视频(默认开启)
roomEngine.startPushLocalVideo()

// 停止推送本地视频
roomEngine.stopPushLocalVideo()
TUIRoomEngine roomEngine = TUIRoomEngine.sharedInstance();

// 开始推送本地视频(默认开启)
roomEngine.startPushLocalVideo();

// 停止推送本地视频
roomEngine.stopPushLocalVideo();
说明:
在房间内,若您已打开您的摄像头,调用如上接口开始/停止推送本地视频后,SDK会通过 TUIRoomObserver 中的onUserVideoStateChanged 回调通知房间内用户。