引擎配置
引擎配置速览
RTC 引擎提供 以下配置,可按需修改。
适用平台 | 配置项 |
---|---|
断线重连 | 默认开启 |
状态报表数据回调时间间隔 | 默认1000ms |
媒体流加密功能(SRTP) | 默认关闭 |
检测 IM SDK 和 RTC SDK 版本号是否一致 | 默认开启 |
音频初始化配置 - OpenSLES 录制麦克风数据 | 默认关闭 |
音频初始化配置 - 编码类型 | 默认 Opus |
音频初始化配置 - 录音来源 | 默认来自语音通信 |
音频初始化配置 - 采样率 | 默认 16000 |
音频初始化配置 - 立体声 | 默认开启 |
音频初始化配置 - 麦克风采集 | 默认开启 |
视频初始化配置 - 硬编码码率控制模式 | 默认 CBR |
视频初始化配置 - 硬件编码 | 默认开启 |
视频初始化配置 - 硬件解码 | 默认开启 |
视频初始化配置 - 高压缩编码 | 默认关闭 |
视频初始化配置 - 硬件编码帧率 | 默认 30 Fps |
视频初始化配置 - 采集/解码 到纹理 | 默认开启 |
断线重连
断线重连功能默认开启,可以在引擎初始化时传入以下配置进行关闭:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.enableAutoReconnect(false);
config.build();
RCRTCEngine.getInstance().init(context, config);
状态报表数据回调时间间隔
状态数据报表回调默认时间间隔为 1000ms,最小时间间隔为 100ms。请注意,过小的时间间隔会影响性能。
可以在引擎初始化时传入以下配置进行修改:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.setStatusReportInterval(2000); //修改回调时间间隔为 2 秒
config.build();
RCRTCEngine.getInstance().init(context, config);
媒体流加密功能(SRTP)
SDK 内置 SRTP 安全实时传输协议,即协议层的标准加密方式。以开关形式提供,使用简单。媒体流加密功能(SRTP)功能默认关闭。请注意,开启该功能会对性能和用户体验有一定影响,如果没有该需求请不要打开。
可以在引擎初始化时传入以下配置进行开启:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.enableSRTP(true);
config.build();
RCRTCEngine.getInstance().init(context, config);
检测 IM SDK 和 RTC SDK 版本号是否一致
默认开启,检测 IM SDK 和 RTC SDK 版本号是否一致。
可以在引擎初始化时传入以下配置进行关闭:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.enableVersionMismatch(false);
config.build();
RCRTCEngine.getInstance().init(context, config);
音频初始化配置
开启 OpenSLES 录制麦克风数据
默认关闭。可以在引擎初始化时传入以下配置进行开启:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.enableLowLatencyRecording(true);
config.build();
RCRTCEngine.getInstance().init(context, config);
修改音频编解码类型
目前支持 PCMU 和 OPUS 两种音频编解码方式,默认配置是 OPUS。
可以在引擎初始化时传入以下配置进行修改:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.setAudioCodecType(AudioCodecType.PCMU); // 修改音频编解码类型为 PCMU
config.build();
RCRTCEngine.getInstance().init(context, config);
修改音频录音来源
默认录音来源为语音通信。该配置适用于 SDK 中默认设置的音源在设备上 AudioRecord 采集音频异常场景。
可以在引擎初始化时传入以下配置进行修改:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.setAudioSource(myAudioSource);
config.build();
RCRTCEngine.getInstance().init(context, config);
myAudioSource
的枚举值对应 Android SDK 中的 MediaRecorder.AudioSource
。
修改音频采样率
引擎支持的采样率有:8000,16000, 32000, 44100, 48000。 默认为 16000。
可以在引擎初始化时传入以下配置进行修改:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.setAudioSampleRate(32000); // 修改音频采样率为 32000
config.build();
RCRTCEngine.getInstance().init(context, config);
开启/关闭立体声
默认开启,可以在引擎初始化时传入以下配置进行关闭:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.enableStereo(false);
config.build();
RCRTCEngine.getInstance().init(context, config);
开启/关闭麦克风采集
默认开启,可以在引擎初始化时传入以下配置进行关闭:
RCRTCConfig.Builder config = RCRTCConfig.Builder.create();
config.enableMicrophone(false);
config.build();
RCRTCEngine.getInstance().init(context, config);
提示
如配置麦克风关闭,则在整个引擎生命周期内都无法再次开启。