你可以根据项目场景的需要,对音频属性进行调整,给用户提供更高质量和流畅的音频体验。本文介绍如何根据场景选择不同的音频设置。
火山引擎 RTC 根据大量线上数据总结出各类场景下的最佳配置方案。因此,进行音频属性设置时,你无需为音频相关参数一一指定具体数值。只需根据场景,选择对应的房间模式 channelProfile
。SDK 将自动应用包含音频属性在内的多种配置,包括网络传输策略、视频属性,音频处理算法,例如是否开启 3A 以及对不同机型的适配等。
设置了 channelProfile
之后通常无需再设置该房间模式下的音质档位。但如果当前场景对设备性能消耗敏感,并且对音质的要求低于已选房间模式中的音质档位,你也可以将音质切换到较低档位。音质档位 AudioProfileType
包含了采样率、码率、声道数、帧率等音频编码参数。
不同 channelProfile
的默认音质档位 AUDIO_PROFILE_DEFAULT(0)
,是该场景下的最佳实践,既能满足业务要求,又不过度消耗性能或苛求网络状态。详见下表:
默认音质档位 | PC 端 | 移动端 |
---|---|---|
音乐音质 | CHANNEL_PROFILE_KTV(11) CHANNEL_PROFILE_CHORUS(12) CHANNEL_PROFILE_GAME_STREAMING(14) CHANNEL_PROFILE_LAN_LIVE_STREAMING(15) | CHANNEL_PROFILE_KTV(11) CHANNEL_PROFILE_CHORUS(12) CHANNEL_PROFILE_GAME_STREAMING(14) CHANNEL_PROFILE_LAN_LIVE_STREAMING(15) |
标准音质 | CHANNEL_PROFILE_COMMUNICATION(0) CHANNEL_PROFILE_CLOUD_GAME(3) CHANNEL_PROFILE_LOW_LATENCY(4) CHANNEL_PROFILE_CHAT(5) CHANNEL_PROFILE_CHAT_ROOM(6) CHANNEL_PROFILE_LW_TOGETHER(7) CHANNEL_PROFILE_GAME_HD(8) CHANNEL_PROFILE_CO_HOST(9) CHANNEL_PROFILE_INTERACTIVE_PODCAST(10) CHANNEL_PROFIEL_VR_CHAT(13) CHANNEL_PROFIEL_MEETING(16) CHANNEL_PROFILE_MEETING_ROOM(17) CHANNEL_PROFILE_CLASSROOM(18) | CHANNEL_PROFILE_CLOUD_GAME(3) CHANNEL_PROFILE_LOW_LATENCY(4) CHANNEL_PROFILE_CHAT_ROOM(6) CHANNEL_PROFILE_LW_TOGETHER(7) CHANNEL_PROFILE_GAME_HD(8) CHANNEL_PROFILE_CO_HOST(9) CHANNEL_PROFILE_INTERACTIVE_PODCAST(10) CHANNEL_PROFIEL_VR_CHAT(13) CHANNEL_PROFILE_MEETING_ROOM(17) |
流畅 | CHANNEL_PROFILE_GAME(2) | CHANNEL_PROFILE_COMMUNICATION(0) CHANNEL_PROFILE_GAME(2) CHANNEL_PROFILE_CHAT(5) CHANNEL_PROFIEL_MEETING(16) CHANNEL_PROFILE_CLASSROOM(18) |
不同平台的接口、类型名称可能略有差异。本文以 Android RTC SDK 为例,参考对应平台的 API 文档获取更多信息。
你已经集成了 RTC SDK,并实现了基本的音视频通话。
调用 joinRoom
进房时,可以通过 channelProfile
选择合适的房间模式。
当前支持场景包括音视频通话、语聊房、直播连麦、KTV 等,详见房间模式。
由于音质体验受设备性能的制约和网络环境影响,在同等的网络和设备条件下,较高的音质可能意味着其他指标的下降,例如损失流畅度、弱网抗性等。
setAudioProfile
可将音质切换到较低档位。setAudioProfile
将音质切换回默认音质档位。平台 | Androids | iOS | macOS | Windows | Linux | Electron | Unity | Flutter | Web |
---|---|---|---|---|---|---|---|---|---|
设置房间模式 | joinRoom | joinRoom:userInfo:roomConfig: | joinRoom:userInfo:roomConfig: | joinRoom | joinRoom | joinRoom | JoinRoom | joinRoom | joinRoom |
设置音质档位 | setAudioProfile | setAudioProfile: | setAudioProfile: | setAudioProfile | setAudioProfile | setAudioProfile | SetAudioProfile | setAudioProfile | setAudioProfile |
A:setAudioProfile
将调整音频编码参数,但不会影响采样参数,因此调用该接口将音质切换为较高档位时,音质可能不会有显著提升。建议在调用 joinRoom
设置 RoomProfileType
时选择对应音乐音质的房间模式。