引擎配置
引擎配置速览
RTC 引擎提供以下配置,可按需修改。
适用平台 | 配置项 | 默认值 |
---|---|---|
全平台 | 断线重连 | 默认开启 |
全平台 | 状态报表数据回调时间间隔 | 默认1000ms |
全平台 | 音频初始化配置 - 编码类型 | 默认 Opus |
Android | 音频初始化配置 - 录音来源 | 默认来自语音通信 |
Android | 音频初始化配置 - 采样率 | 默认 16000 |
Android | 音频初始化配置 - 立体声 | 默认开启 |
Android | 音频初始化配置 - 麦克风采集 | 默认开启 |
全平台 | 视频初始化配置 - 大小流 | 默认开启 |
Android | 视频初始化配置 - 硬件编码 | 默认开启 |
Android | 视频初始化配置 - 硬件解码 | 默认开启 |
Android | 视频初始化配置 - 高压缩编码 | 默认关闭 |
Android | 视频 初始化配置 - 硬件编码帧率 | 默认 30 Fps |
Android | 视频初始化配置 - 采集/解码 到纹理 | 默认开启 |
断线重连
断线重连功能默认开启,可以在引擎初始化时传入以下配置进行关闭。
方法
Dart
RCRTCEngineSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
reconnectable | bool | 否 | 是否开启断线重连,默认 true |
示例代码
Dart
RCRTCEngineSetup setup = RCRTCEngineSetup.create(reconnectable: false);
engine = RCRTCEngine.create(setup);
状态报表数据回调时间间隔
状态数据报表回调默认时间间隔为1000ms,最小时间间隔为100ms。请注意,过小的时间间隔会影响性能。
方法
Dart
RCRTCEngineSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
statsReportInterval | int | 否 | 状态报表数据回调时间间隔,单位毫秒,默认 1000,最小 100 |
示例代码
Dart
/// 修改回调时间间隔为 2 秒
RCRTCEngineSetup setup = RCRTCEngineSetup.create(statsReportInterval: 2000);
engine = RCRTCEngine.create(setup);
音频初始化配置
修改音频编解码类型
目前支持 PCMU 和 OPUS 两种音频编解码方式,默认配置是 OPUS。
方法
Dart
RCRTCAudioSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
codec | RCRTCAudioCodecType | 否 | 音频编解码类型,默认 OPUS |
示例代码
Dart
/// 修改音频编解码类型为PCMU
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(codec: RCRTCAudioCodecType.pcmu);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);
修改音频录音来源
默认录音来源为语音通信。
方法
Dart
RCRTCAudioSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
audioSource | RCRTCAudioSource | 否 | 音频录音来源,默认语音通信,仅支持 Android |
示例代码
Dart
/// 修改录音来源为麦克风
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(audioSource: RCRTCAudioSource.mic);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);
RCRTCAudioSource
枚举值对应 Android SDK 中的 MediaRecorder.AudioSource
。
修改音频采样率
引擎支持的采样率有:8000,16000, 32000, 44100, 48000。 默认为 16000。
方法
Dart
RCRTCAudioSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
audioSampleRate | int | 否 | 音频采样率,支持 8000、16000、32000、44100、48000,默认 16000, 仅支持 Android |
示例代码
Dart
/// 修改音频采样率为 32000
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(audioSampleRate: 32000);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);
开启/关闭立体声
默认开启,可以在引擎初始化时传入以下配置进行关闭。
方法
Dart
RCRTCAudioSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
enableStereo | bool | 否 | 是否开 启立体声,默认 true,仅支持 Android |
示例代码
Dart
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(enableStereo: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);
开启/关闭麦克风采集
默认开启,可以在引擎初始化时传入以下配置进行关闭。
方法
Dart
RCRTCAudioSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
enableMicrophone | bool | 否 | 是否开启麦克风采集,默认 true,仅支持 Android |
示例代码
Dart
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(enableMicrophone: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);
提示
如 配置麦克风关闭,则在整个引擎生命周期内都无法再次开启。
视频初始化配置
开启/关闭大小流
默认开启,可以在引擎初始化时传入以下配置进行关闭。
方法
Dart
RCRTCVideoSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
enableTinyStream | bool | 否 | 是否开启大小流,默认 true |
示例代码
Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableTinyStream: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);
开启/关闭硬件编码
默认开启,可以在引擎初始化时传入以下配置进行关闭。
方法
Dart
RCRTCVideoSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
enableHardwareEncoder | bool | 否 | 是否开启硬件编码,默认 true,仅支持 Android |
示例代码
Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableHardwareEncoder: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);
开启/关闭硬件解码
默认开启,可以在引擎初始化时传入以下配置进行关闭。
方法
Dart
RCRTCVideoSetup.create()
参数说明
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
enableHardwareDecoder | bool | 否 | 是否开启硬件解码,默认 true,仅支持 Android |
示例代码
Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableHardwareDecoder: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);