跳到主要内容

引擎配置

引擎配置速览

RTC 引擎提供以下配置,可按需修改。

适用平台配置项默认值
全平台断线重连默认开启
全平台状态报表数据回调时间间隔默认1000ms
全平台音频初始化配置 - 编码类型默认 Opus
Android音频初始化配置 - 录音来源默认来自语音通信
Android音频初始化配置 - 采样率默认 16000
Android音频初始化配置 - 立体声默认开启
Android音频初始化配置 - 麦克风采集默认开启
全平台视频初始化配置 - 大小流默认开启
Android视频初始化配置 - 硬件编码默认开启
Android视频初始化配置 - 硬件解码默认开启
Android视频初始化配置 - 高压缩编码默认关闭
Android视频初始化配置 - 硬件编码帧率默认 30 Fps
Android视频初始化配置 - 采集/解码 到纹理默认开启

断线重连

断线重连功能默认开启,可以在引擎初始化时传入以下配置进行关闭。

方法

Dart
RCRTCEngineSetup.create()

参数说明

参数类型必填说明
reconnectablebool是否开启断线重连,默认 true

示例代码

Dart
RCRTCEngineSetup setup = RCRTCEngineSetup.create(reconnectable: false);
engine = RCRTCEngine.create(setup);

状态报表数据回调时间间隔

状态数据报表回调默认时间间隔为1000ms,最小时间间隔为100ms。请注意,过小的时间间隔会影响性能。

方法

Dart
RCRTCEngineSetup.create()

参数说明

参数类型必填说明
statsReportIntervalint状态报表数据回调时间间隔,单位毫秒,默认 1000,最小 100

示例代码

Dart
/// 修改回调时间间隔为 2 秒
RCRTCEngineSetup setup = RCRTCEngineSetup.create(statsReportInterval: 2000);
engine = RCRTCEngine.create(setup);

音频初始化配置

修改音频编解码类型

目前支持 PCMU 和 OPUS 两种音频编解码方式,默认配置是 OPUS。

方法

Dart
RCRTCAudioSetup.create()

参数说明

参数类型必填说明
codecRCRTCAudioCodecType音频编解码类型,默认 OPUS

示例代码

Dart
/// 修改音频编解码类型为PCMU
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(codec: RCRTCAudioCodecType.pcmu);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);

修改音频录音来源

默认录音来源为语音通信。

方法

Dart
RCRTCAudioSetup.create()

参数说明

参数类型必填说明
audioSourceRCRTCAudioSource音频录音来源,默认语音通信,仅支持 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()

参数说明

参数类型必填说明
audioSampleRateint音频采样率,支持 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()

参数说明

参数类型必填说明
enableStereobool是否开启立体声,默认 true,仅支持 Android

示例代码

Dart
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(enableStereo: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);

开启/关闭麦克风采集

默认开启,可以在引擎初始化时传入以下配置进行关闭。

方法

Dart
RCRTCAudioSetup.create()

参数说明

参数类型必填说明
enableMicrophonebool是否开启麦克风采集,默认 true,仅支持 Android

示例代码

Dart
RCRTCAudioSetup audioSetup = RCRTCAudioSetup.create(enableMicrophone: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(audioSetup: audioSetup);
engine = RCRTCEngine.create(setup);
提示

如配置麦克风关闭,则在整个引擎生命周期内都无法再次开启。

视频初始化配置

开启/关闭大小流

默认开启,可以在引擎初始化时传入以下配置进行关闭。

方法

Dart
RCRTCVideoSetup.create()

参数说明

参数类型必填说明
enableTinyStreambool是否开启大小流,默认 true

示例代码

Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableTinyStream: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);

开启/关闭硬件编码

默认开启,可以在引擎初始化时传入以下配置进行关闭。

方法

Dart
RCRTCVideoSetup.create()

参数说明

参数类型必填说明
enableHardwareEncoderbool是否开启硬件编码,默认 true,仅支持 Android

示例代码

Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableHardwareEncoder: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);

开启/关闭硬件解码

默认开启,可以在引擎初始化时传入以下配置进行关闭。

方法

Dart
RCRTCVideoSetup.create()

参数说明

参数类型必填说明
enableHardwareDecoderbool是否开启硬件解码,默认 true,仅支持 Android

示例代码

Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableHardwareDecoder: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);

开启/关闭硬件高压缩编码

默认关闭,可以在引擎初始化时传入以下配置进行开启。

方法

Dart
RCRTCVideoSetup.create()

参数说明

参数类型必填说明
enableHardwareEncoderHighProfilebool是否开启硬件高压缩编码,默认 false,仅支持 Android

示例代码

Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableHardwareEncoderHighProfile: true);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);
提示

开启硬件高压缩编码可能会引发兼容性问题,请谨慎使用。

配置硬件编码帧率

取值范围 0~30 帧,默认 30 帧。

方法

Dart
RCRTCVideoSetup.create()

参数说明

参数类型必填说明
hardwareEncoderFrameRateint硬件编码帧率,取值范围 0~30,默认 30,仅支持 Android

示例代码

Dart
/// 修改硬件编码帧率为 25 帧
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(hardwareEncoderFrameRate: 25);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);

开启/关闭 采集/解码 到纹理

默认开启,可以在引擎初始化时传入以下配置进行关闭。

方法

Dart
RCRTCVideoSetup.create()

参数说明

参数类型必填说明
enableTexturebool是否开启采集/解码到纹理,默认 true,仅支持 Android

示例代码

Dart
RCRTCVideoSetup videoSetup = RCRTCVideoSetup.create(enableTexture: false);
RCRTCEngineSetup setup = RCRTCEngineSetup.create(videoSetup: videoSetup);
engine = RCRTCEngine.create(setup);
提示

关闭后,采集/解码将通过 YUV 数据的形式进行,通常建议 Android 5.0 以下的设备关闭此配置以换来更好的兼容性