tencent cloud

文档反馈

视频设置

最后更新时间:2025-01-09 17:10:17
    本文档主要介绍如何使用 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 回调通知房间内用户。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持