AgoraSpatialAudioZone
用于设置隔音区域。
Objective-C
__attribute__((visibility("default"))) @interface AgoraSpatialAudioZone : NSObject
@property(assign, nonatomic) NSInteger zoneSetId;
@property(nonatomic) simd_float3 position;
@property(nonatomic) simd_float3 forward;
@property(nonatomic) simd_float3 right;
@property(nonatomic) simd_float3 up;
@property(assign, nonatomic) float forwardLength;
@property(assign, nonatomic) float rightLength;
@property(assign, nonatomic) float upLength;
@property(assign, nonatomic) float audioAttenuation;
@end
zoneSetId
隔音区域的 ID。
position
隔音区域的空间中心点。该参数为长度为 3 的数组,三个值依次表示前、右、上的坐标。
forward
从
position 开始的前向单位向量。该参数为长度为 3 的数组,三个值依次表示前、右、上的坐标。right
从
position 开始的右向单位向量。该参数为长度为 3 的数组,三个值依次表示前、右、上的坐标。up
从
position 开始的上向单位向量。该参数为长度为 3 的数组,三个值依次表示前、右、上的坐标。forwardLength
将整个隔音区域视为一个立方体,该参数表示前向边的长度,单位为游戏引擎的单位长度。
rightLength
将整个隔音区域视为一个立方体,该参数表示右向边的长度,单位为游戏引擎的单位长度。
upLength
将整个隔音区域视为一个立方体,该参数表示上向边的长度,单位为游戏引擎的单位长度。
audioAttenuation
当隔音区域内的用户与外部用户通信时的声音衰减系数。取值范围为 [0, 1],具体如下:
- 0:广播模式,音量和音色不随距离衰减,本地用户听到的音量和音色始终不变。
- (0, 0.5):弱衰减模式,音量和音色在传播过程中仅有轻微衰减,声音传播距离大于真实环境。
- 0.5:(默认)模拟真实环境中的音量衰减效果,等效于未设置
audioAttenuation参数。 - (0.5, 1]:强衰减模式,音量和音色在传播过程中快速衰减。