SpatialAudioZone
隔声区域的设置。
Dart
class SpatialAudioZone {
const SpatialAudioZone(
{this.zoneSetId,
this.position,
this.forward,
this.right,
this.up,
this.forwardLength,
this.rightLength,
this.upLength,
this.audioAttenuation});
(name: 'zoneSetId')
final int? zoneSetId;
(name: 'position')
final List<double>? position;
(name: 'forward')
final List<double>? forward;
(name: 'right')
final List<double>? right;
(name: 'up')
final List<double>? up;
(name: 'forwardLength')
final double? forwardLength;
(name: 'rightLength')
final double? rightLength;
(name: 'upLength')
final double? upLength;
(name: 'audioAttenuation')
final double? audioAttenuation;
factory SpatialAudioZone.fromJson(Map<String, dynamic> json) =>
_$SpatialAudioZoneFromJson(json);
Map<String, dynamic> toJson() => _$SpatialAudioZoneToJson(this);
}
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]:强衰减模式 (默认值为 1) ,即音量和音色在传播过程中发生迅速衰减。