设置 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);
此文档是否对你有帮助?