You need to enable JavaScript to run this app.
导航

范围语音

最近更新时间2023.08.28 12:05:29

首次发布时间2022.06.01 20:44:22

范围语音是一种音频效果。一般来说,开启此功能后,声音的衰减系数随距离声源的距离变大而变大。
FPS 游戏中,常用此功能。玩家可以利用音量大小来判断和声源的距离。常和空间音频功能一起使用,实现沉浸式体验。

功能变更日志

  1. 自客户端 SDK 3.40 起,范围语音的功能可用。
  2. 自客户端 SDK 3.43 起,范围语音支持了更多的音量衰减模式选项。
  3. 自客户端 SDK 3.48 起,范围语音支持了无衰减的小队成员间通话。

功能解析

图中用户都处于同一个 RTC 房间中。P 是收听的用户,A、B、C、D、E 是发声的用户。

你可以通过参数设置无衰减区和衰减区。

  • 图中,浅色区域 r 是无衰减区。对于 P 来说,位于无衰减区的 A 和 B 发出的声音均无衰减。
  • 深色区域 R 是有衰减区。对于 P 来说,离 P 越远的用户,衰减越大。D 发声的衰减大于 C 的发声。因衰减系数已达到 100%,P无法听到在 R 区域外侧边缘以外的用户发声。

在引入范围语音功能时,你可以设定用户所属小队。同 RTC 房间内同小队的用户之间可以无衰减通话。

集成步骤

  1. 调用 getRangeAudio 获取范围语音接口实例。
  2. 调用 updatePosition 更新自身在房间中的位置坐标,此时 SDK 会根据相对位置计算衰减系数。

配合 空间音频功能使用时,应保证为同一用户分别传入的是相同的坐标信息。

  1. 调用 updateReceiveRange 更新具有音量衰减效果的音频接收范围。
  2. 调用 enableRangeAudio 开启范围语音功能,收听设定范围内音频音量衰减效果。
  3. (可选)调用 setNoAttenuationFlags 设定用户所属的一个或多个小队,以和同 RTC 房间内的其他小队成员无衰减通话。

API 参考

功能简述AndroidiOSWindows
获取范围语音接口实例getRangeAudiogetRangeAudioGetRangeAudio
更新本地用户在房间内空间直角坐标系中的位置坐标updatePositionupdatePosition:UpdatePosition
开启/关闭范围语音功能enableRangeAudioenableRangeAudio:EnableRangeAudio
更新本地用户的音频收听范围updateReceiveRangeupdateReceiveRange:UpdateReceiveRange
设置通话不衰减的标签组setNoAttenuationFlagssetNoAttenuationFlags:setNoAttenuationFlags