SpatialAudioZone
隔声区域的设置。
Java
public class SpatialAudioZone {
public int zoneSetId;
public float[] position;
public float[] forward;
public float[] right;
public float[] up;
public float forwardLength;
public float rightLength;
public float upLength;
public float audioAttenuation;
public SpatialAudioZone() {
zoneSetId = -1;
position = new float[] {0.0f, 0.0f, 0.0f};
forward = new float[] {0.0f, 0.0f, 0.0f};
right = new float[] {0.0f, 0.0f, 0.0f};
up = new float[] {0.0f, 0.0f, 0.0f};
forwardLength = 0.0f;
rightLength = 0.0f;
upLength = 0.0f;
audioAttenuation = 0.0f;
}
@CalledByNative
public float[] getPosition() {
return position;
}
@CalledByNative
public float[] getForward() {
return forward;
}
@CalledByNative
public float[] getRight() {
return right;
}
@CalledByNative
public float[] getUp() {
return up;
}
@CalledByNative
public int getZoneSetId() {
return zoneSetId;
}
@CalledByNative
public float getForwardLength() {
return forwardLength;
}
@CalledByNative
public float getRightLength() {
return rightLength;
}
@CalledByNative
public float getUpLength() {
return upLength;
}
@CalledByNative
public float getAudioAttenuation() {
return audioAttenuation;
}
}
自从
v4.0.1
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) ,即音量和音色在传播过程中发生迅速衰减。