音频选路
在大规模音视频互动场景中,大量用户同时开麦发言会消耗巨大带宽和设备性能。开启音频选路功能后,RTC 引擎将智能托管音频订阅关系,识别活跃发言者并定向分发,减少每个客户端接收的音频流数量,从而在保障互动流畅度的同时,大幅降低客户端负载。
应用场景
开启或关闭音频选路
说明
推荐使用不同的 appID 开发适用于不同场景的音视频应用。是否开启音频选路的应用场景差别较大,尽量避免在用户使用时进行切换。
- 进入功能配置 > 房间模式,选择目标应用,按需开启或关闭音频选路。
Native/Web/Flutter/Electron 端
开启音频选路功能后,请注意以下事项:
- 发布失败:流数量达上限后,PublishStream 返回 -1080(Web 端没有对应的错误码,会触发发布失败)。
- 订阅失败:订阅流达上限后,SubscribeStream 返回 -1070(Web 端没有对应的错误码,会触发发布失败)。
- Native 端:支持取消订阅对方音频。例如,A 取消订阅 B 的音频,即使 B 的音频被选为活跃用户并推送,A 也不会收听到 B 的音频。
- 生效房间:仅对新创建的房间生效,不会影响已存在的房间模式。
- 激活条件:启用音频选路后,当房间内用户数超过 5 人时,部分 API 和回调的行为会发生变化。具体影响,请参见启用音频选路对相关接口的影响。
启用音频选路后,部分接口和回调行为将发生变化,具体触发条件见下表(以 Windows SDK 为例)。
不同平台的实现步骤相同,但接口名称、参数名称可能略有差异。以下指南以 Windows RTC SDK 为例,参考对应平台的 API 文档获取更多信息。微信小程序端请参见微信小程序端使用音频选路。 - 部分回调的行为将发生变化,具体如下表。你需要根据这些变化,调整相应的应用端逻辑。
微信小程序端
微信小程序端的音频选路使用方式与 Native、Web 等端有所不同。本节介绍微信小程序端接入音频选路的方法。
- 微信小程序 RTC SDK 版本不低于 3.4.0。
- 音频订阅由系统托管:音频选路模式下,小程序端无法也无需调用 subscribe 或 unsubscribe 控制单个用户音频流。所有音频通过一路混音流下发。
- 活跃发言者列表:ON_ACTIVE_SPEAKERS 事件返回的列表是了解当前哪些用户正在被混音播放的唯一途径。你需要根据此列表更新 UI,例如展示正在说话的用户。
- 混音流播放失败:务必监听 STREAM_FAILED 事件。当 pushed 为 true 时,表示混音流播放失败。此时可向用户显示提示,或调用 refreshPushTrackUrl 手动恢复。
开启音频选路后,微信小程序 SDK 提供以下 API 和事件,用于管理和监听选路相关状态。
以下是在微信小程序中使用音频选路功能的典型流程。
- Native,Electron 和 Flutter SDK v3.39 开始支持音频选路。
- 微信小程序 SDK v3.4.0 开始支持音频选路。
- 2023 年 6 月 8 日起,RTC 不再区分房间模式,只区分是否开启音频选路。
如果此前你已经在控制台开启相关配置,后台会自动为你切换到对应的配置。你也可以在下表中查看变更前后的配置对应关系。
最近更新时间:2026.09.28 10:19:26