SpatialAudioZone

  • Flutter

更新时间不可用

隔声区域的设置。

Dart
class SpatialAudioZone {
  const SpatialAudioZone(
      {this.zoneSetId,
      this.position,
      this.forward,
      this.right,
      this.up,
      this.forwardLength,
      this.rightLength,
      this.upLength,
      this.audioAttenuation});

  @JsonKey(name: 'zoneSetId')
  final int? zoneSetId;

  @JsonKey(name: 'position')
  final List<double>? position;

  @JsonKey(name: 'forward')
  final List<double>? forward;

  @JsonKey(name: 'right')
  final List<double>? right;

  @JsonKey(name: 'up')
  final List<double>? up;

  @JsonKey(name: 'forwardLength')
  final double? forwardLength;

  @JsonKey(name: 'rightLength')
  final double? rightLength;

  @JsonKey(name: 'upLength')
  final double? upLength;

  @JsonKey(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),即音量和音色在传播过程中发生迅速衰减。
表格内容超出当前宽度,可横向滚动查看更多列。

这个页面有帮助吗?