SpatialAudioParams
配置空间音频参数。
C++
struct SpatialAudioParams {
Optional<double> speaker_azimuth;
Optional<double> speaker_elevation;
Optional<double> speaker_distance;
Optional<int> speaker_orientation;
Optional<bool> enable_blur;
Optional<bool> enable_air_absorb;
Optional<double> speaker_attenuation;
Optional<bool> enable_doppler;
};
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
是否开启音频模糊处理:
- true:开启音频模糊。
- false:(默认)关闭音频模糊。
enable_air_absorb
是否开启空气吸收效果,用于模拟声音在空气中传播时的衰减特性。在一定传播距离下,高频声音衰减较快,低频声音衰减较慢。
- true:(默认)开启空气吸收。请确保
speaker_attenuation的值不为0,否则该设置不生效。 - false:关闭空气吸收。
speaker_attenuation
远端用户或媒体播放器的声音衰减系数,取值范围为 [0, 1]。
- 0:广播模式,音量和音色不随距离衰减,本地用户听到的音量和音色不变。
- (0, 0.5):弱衰减模式,音量和音色在传播过程中轻微衰减,声音传播距离比真实环境更远。需同时开启
enable_air_absorb。 - 0.5:(默认)模拟真实环境中的音量衰减效果,等效于未设置
speaker_attenuation。 - (0.5, 1]:强衰减模式,音量和音色在传播过程中快速衰减。需同时开启
enable_air_absorb。
enable_doppler
信息
该参数适用于声源高速移动的场景(例如赛车游戏)。不推荐在常见的音视频互动场景中使用(例如语音聊天、连麦或在线 KTV)。启用该参数后,建议以固定周期(如 30 毫秒)调用 updatePlayerPositionInfo、updateSelfPosition 和 updateRemotePosition 方法,持续更新声源与接收者之间的相对距离。以下因素可能导致多普勒效应不可预测或声音抖动:更新周期过长、更新周期不规律,或因网络丢包或延迟导致距离信息丢失。
- true:开启多普勒效应。
- false:(默认)关闭多普勒效应。