适用场景

在同一个房间内,大量用户需要同时参与音视频互动,例如以下场景。

前提条件

你已经集成 v3.39.1 或更高版本的 RTC SDK,实现了基本的音视频通话。

功能描述

音频选路:当同时参与音视频互动的嘉宾较多时,建议开启音频选路功能。此后,房间中用户的音频订阅关系交由 RTC 智能托管,无需在客户端手动维护,RTC 将智能决策出房间中音量较大的部分用户,并将这些用户的音频流发送给房间内的其他用户。

说明:开启音频选路时

  • 视频订阅关系仍需要在客户端自行维护。
  • 支持取消订阅对方音频。例如, A 取消订阅 B 的音频,那么,即使 B 的音频被选为活跃用户并推送,A 也不会收听到 B 的音频。

房间模式:不同的房间模式具有如下特点:

切换房间模式
  1. 进入控制台,创建 RTC 应用。应用创建成功后,默认为普通模式,音频选路关闭状态。

说明:我们推荐使用不同的 appID 开发适用于不同场景的音视频应用。普通模式和大会模式的应用场景差别较大,尽量避免在用户使用时进行切换。

  1. 进入 功能配置 > 房间模式,选择刚创建好的应用,切换房间模式。
    • 大会模式:点击大会模式。

    • 音频选路:点击音频选路。 此后,当房间内的可见用户数超过 5 人时,音频选路启动。

说明:大会模式和音频选路启动后,可以按照上述步骤重新切换回普通模式。

音频选路下的 API 和 回调

大会模式或音频选路功能开启后,以下 API 和回调的预期行为与普通模式下的行为有如下差异。

说明:不同平台的实现步骤相同,但接口名称、参数名称可能略有差异。以下指南以 Windows RTC SDK 为例,参考对应平台的 API 文档获取更多信息。

普通模式(不开启音频选路)开启音频选路/大会模式

joinRoom (isAutoSubscribeAudio = true)

自动订阅音频

无效。
音频订阅关系由RTC系统智能托管

subscribeStream

订阅指定用户音视频流

视频:与普通模式相同
音频:无需调用。音频订阅关系由RTC系统智能托管。

普通模式(不开启音频选路)开启音频选路/大会模式

onUserJoined

远端可见用户加入房间,或房内不可见用户切换为可见的回调。

房间内可见用户数 >500 后,该回调不触发
如果你需要完整的房间内用户名单,需要自行维护用户列表。

onUserLeave远端可见用户下线或转为隐身房间内可见用户数 >500 后,该回调不触发
OnRoomStats2 s 一次的房间内通话统计信息回调房间内可见用户数 >500 后,回调的 RtcRoomStats{user_count} 值无效
onUserPublishStream房间内新增远端摄像头/麦克风采集的媒体流回调只能收到视频流触发的相关回调
onUserUnpublishStream远端用户取消发布回调只能收到视频流触发的相关回调
onUserPublishScreen房间内新增屏幕共享流回调只能收到视频流触发的相关回调
onUserUnpublishScreen远端用户取消发布屏幕共享流回调只能收到视频流触发的相关回调
onNetworkQuality报告房间内用户的网络质量评分回调有视频流的用户信息或远端活跃用户的网络质量评分
onRemoteStreamStats订阅的远端用户发布的流在周期内的网络质量信息。回调有视频流的用户信息或远端活跃用户的音频流传输信息。
onRemoteAudioPropertiesReport订阅的远端用户的音频信息。只回调远端活跃用户的音频信息。
注意事项

如有其他问题,请联系咨询售前或技术支持团队。