你可以根据项目场景的需要,对音频属性进行调整,给用户提供更好的音频体验。本文介绍如何根据场景选择不同的音频设置。
你已经集成了 RTC SDK,并实现了基本的音视频通话。
说明:不同平台的实现步骤相同,但接口名称、参数名称可能略有差异。本文以 Android RTC SDK 为例,参考对应平台的 API 文档获取更多信息。
调用 joinRoom 进房时,可以根据项目需要,设置 channelProfile 。
房间模式 channelProfile :指针对不同的业务场景,推荐的网络传输策略、视频属性,音频处理算法,例如是否开启 3A 以及对不同机型的适配等。
你也可以联系技术支持同学,帮助你在 RTC 服务端进行房间模式配置和下发。
注意:当使用服务端下发配置实现时,下发配置优先级高于在客户端使用 API 设定的配置。
音质档位 AudioProfile 包含了声道数、帧率等音频编码参数。音质体验受设备性能的制约和网络环境影响,在同等的网络和设备条件下,更高的音质可能意味着其他指标的下降,例如损失流畅度、弱网抗性等。设置了 channelProfile 之后通常无需再设置音质档位 AudioProfile 。每个 channelProfile 的默认音质档位 AUDIO_PROFILE_DEFAULT(0), 是该场景下的音频配置的最佳实践,既能满足业务要求,又不过度消耗性能或苛求网络状态。
说明:你可以联系技术支持同学,获取房间模式的默认音频参数。
然而,在某些情况下,例如,在同一次通话中包含对音质要求不同的两种场景时,你可以调用 setAudioProfile 进行音质档位切换。
将音质到其他档位后,可以再次调用 setAudioProfile 将音质切换回默认音质档位 AUDIO_PROFILE_DEFAULT(0)。
只能将音质切换到比默认音质低或相同的模式。 例如,当前的房间模式为游戏语言模式 CHANNEL_PROFILE_GAME(2),音频设置为最低档位,则调用 setAudioProfile 设置到高音质档位无效。如果该场景的音质低于你的应用要求,建议更换为高音质游戏语音模式 CHANNEL_PROFILE_GAME_HD(8)。 查阅下表,获取当前房间模式下可切换的音质档位。
| 分类 | 当前的 channelProfile | 可切换的 AudioProfile | |
|---|---|---|---|
| --- | PC 端 | 移动端 | |
音乐音质 |
|
| 可切换任意 |
标准音质 |
|
| 可切换为以下音质档位 |
低音质 |
|
| 无可切换 |
| 平台 | Androids | iOS | Mac | Windows | Web |
|---|---|---|---|---|---|
| 设置房间模式 | joinRoom | joinRoomByToken:userInfo:roomConfig: | -- | joinRoom | joinRoom |
| 设置音质档位 | setAudioProfile | setAudioProfile: | -- | setAudioProfile | setAudioProfile |