设置 RTC 的音视频属性

更新时间: 2024/08/23 10:16:57

本文介绍在呼叫组件中如何调用 RTC 的接口,例如视频分辨率、AudioProfile 和 ChannelProfile。

功能介绍

rtcCallExtension 类是呼叫组件内部对 NERTC SDK 的抽象,您只需要继承 NERtcCallExtension 方法,并重写相关方法即可完成 NERTC SDK 的相关配置,例如修改视频分辨率、修改 AudioProfile 和 ChannelProfile。

实现方法

初始化呼叫组件时,调用 CallKitUIOptions 对象中的 rtcCallExtension 方法设置 RTC 的音视频参数,例如视频分辨率、AudioProfile 和 ChannelProfile。

示例代码如下:

CallKitUIOptions options = new CallKitUIOptions.Builder()
    .rtcCallExtension(
        new NERtcCallExtension(){
            @Override
            protected void configAudioProfileBeforeJoin() {
            // 音频设置standard + speech
            NERtcEx.getInstance()
            .setAudioProfile(
            NERtcConstants.AudioProfile.STANDARD
            NERtcConstants.AudioScenario.SPEECH);
            }

            @Override
            protected void configVideoConfigBeforeJoin(){
            // 设置一个默认的videoConfig
            NERtcVideoConfig videoConfig = new NERtcVideoConfig();
            // 帧率:15
            videoConfig.frameRate
            NERtcEncodeConfig.NERtcVideoFrameRate.FRAME_RATE_FPS_15;
            // 用户修改分辨率不要使用 profile,应该使用width/height修改,两种方式都存在时,profile 方式失效。
            //分辨率:360*640(注意此处需要设置宽大于高不用考虑具体角度旋转)
            videoConfig.width = 640;
            videoConfig.height = 360;
            NERtcEx.getInstance().setLocalVideoConfig(videoConfig);
            }

            @Override
            protected void configChannelProfileBeforeJoin(){
            // 设置channel profile
            NERtcEx.getInstance()
            .setChannelProfile(
            NERtcConstants.RTCChannelProfile.COMMUNICATION);
            }
        })
// 若重复初始化会销毁之前的初始化实例,重新初始化
CallKitUI.init(getApplicationContext(), options);
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 实现方法