AgoraSpatialAudioParams

  • iOS

更新时间不可用

用于设置空间音频参数。

Objective-C
__attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject
@property(assign, nonatomic) double speaker_azimuth;
@property(assign, nonatomic) double speaker_elevation;
@property(assign, nonatomic) double speaker_distance;
@property(assign, nonatomic) NSInteger speaker_orientation;
@property(assign, nonatomic) BOOL enable_blur;
@property(assign, nonatomic) BOOL enable_air_absorb;
@property(assign, nonatomic) double speaker_attenuation;
@property(assign, nonatomic) BOOL enable_doppler;
@end

用于设置远端用户或媒体播放器相对于本地用户的空间音频参数。

属性

参数名描述
speaker_azimuth

远端用户或媒体播放器相对于本地用户的方位角,单位为度,取值范围为 [0, 360]。具体取值如下:

  • 0:(默认)表示正前方。
  • 90:表示正左方。
  • 180:表示正后方。
  • 270:表示正右方。
  • 360:表示正前方。
speaker_elevation

远端用户或媒体播放器相对于本地用户的仰角,单位为度,取值范围为 [-90, 90]。具体取值如下:

  • 0:(默认)表示水平面无旋转。
  • -90:表示水平面向下旋转 90 度。
  • 90:表示水平面向上旋转 90 度。
speaker_distance

远端用户或媒体播放器相对于本地用户的距离,单位为米,取值范围为 [1, 50]。默认值为 1 米。

speaker_orientation

远端用户或媒体播放器相对于本地用户的朝向角,单位为度,取值范围为 [0, 180]。具体取值如下:

  • 0:(默认)表示声源与听者朝向一致。
  • 180:表示声源与听者相对而立。
enable_blur

是否开启音频模糊效果:

  • YES:开启音频模糊。
  • NO:(默认)关闭音频模糊。
enable_air_absorb

注: 请确保 speaker_attenuation 的值不为 0,否则该设置不生效。

是否开启空气吸收效果,即模拟声音在空气中传播时的衰减效果。在一定传播距离下,高频声音衰减较快,低频声音衰减较慢:

  • YES:(默认)开启空气吸收。
  • NO:关闭空气吸收。
speaker_attenuation

注: 需同时开启 enable_air_absorb。

远端用户或媒体播放器的声音衰减系数,取值范围为 [0, 1]。具体取值如下:

  • 0:广播模式,音量和音色不随距离衰减。
  • (0, 0.5):弱衰减模式,音量和音色在传播过程中仅有轻微衰减,声音传播距离比真实环境更远。
  • 0.5:(默认)模拟真实环境中的音量衰减,等效于未设置 speaker_attenuation 参数。
  • (0.5, 1]:强衰减模式,音量和音色在传播过程中快速衰减。
enable_doppler

注:

  • 该参数适用于声源高速移动的场景(例如赛车游戏)。不推荐在常规音视频互动场景中使用(例如语音聊天、连麦或在线 KTV)。
  • 启用该参数后,建议设置固定周期(如 30 毫秒),并持续调用 updatePlayerPositionInfo、updateSelfPosition 和 updateRemotePosition 方法更新声源与接收者之间的相对距离。
  • 以下因素可能导致多普勒效应不可预测或声音抖动:更新周期过长、更新周期不规律,或因网络丢包或延迟导致距离信息丢失。

是否开启多普勒效应:当声源与接收者之间存在相对位移时,接收者听到的音调会发生变化。

  • YES:开启多普勒效应。
  • NO:(默认)关闭多普勒效应。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?