AudioStreamRandomizer
继承: AudioStream < Resource < RefCounted < Object
用音高和音量偏移,包装一个音频流池。
描述
根据播放模式,从池中随机选择一个 AudioStream,并在播放期间应用随机音高偏移和音量偏移。
属性
|
||
|
||
|
||
|
||
|
方法
void |
add_stream(index: int, stream: AudioStream, weight: float = 1.0) |
get_stream(index: int) const |
|
get_stream_probability_weight(index: int) const |
|
void |
move_stream(index_from: int, index_to: int) |
void |
remove_stream(index: int) |
void |
set_stream(index: int, stream: AudioStream) |
void |
set_stream_probability_weight(index: int, weight: float) |
枚举
enum PlaybackMode: 🔗
PlaybackMode PLAYBACK_RANDOM_NO_REPEATS = 0
根据为每个流选择的概率权重随机挑选一个流,但尽可能避免连续两次播放同一个流。如果池中只有 1 个声音,则将始终播放同一个声音,从而有效地允许重复发生。
PlaybackMode PLAYBACK_RANDOM = 1
根据为每个流选择的概率权重随机挑选一个流。如果池中只有 1 个声音,则将始终播放同一个声音。
PlaybackMode PLAYBACK_SEQUENTIAL = 2
按照流池中出现的顺序播放流。如果池中只有 1 个声音,则将始终播放同一个声音。
属性说明
PlaybackMode playback_mode = 0 🔗
void set_playback_mode(value: PlaybackMode)
PlaybackMode get_playback_mode()
控制该 AudioStreamRandomizer 如何选择下一个要播放的 AudioStream。
随机音高变化的最大可能频率乘数。音高将在 1.0 / random_pitch 和 random_pitch 的范围内随机选择。值为 1.0 表示没有变化。值为 2.0 表示音高将在两倍和一半之间随机变化。
注意:设置该属性也会设置 random_pitch_semitones。
float random_pitch_semitones = 0.0 🔗
随机音高变化的最大可能距离,单位为半音。值为 0.0 表示没有变化。
注意:设置该属性也会设置 random_pitch。
float random_volume_offset_db = 0.0 🔗
随机音量变化的强度。音量将根据一个最大为 random_volume_offset_db 的值随机增加或减少。值为 0.0 表示没有变化。值为 3.0 表示音量将在 -3.0 dB 和 +3.0 dB 之间随机变化。
流池中流的数量。
方法说明
void add_stream(index: int, stream: AudioStream, weight: float = 1.0) 🔗
在指定索引处插入一个流。如果索引小于零,则插入发生在底层池的末尾。
AudioStream get_stream(index: int) const 🔗
返回指定索引处的流。
float get_stream_probability_weight(index: int) const 🔗
返回与给定索引处的流关联的概率权重。
void move_stream(index_from: int, index_to: int) 🔗
将流从一个索引移动到另一个索引。
void remove_stream(index: int) 🔗
移除指定索引处的流。
void set_stream(index: int, stream: AudioStream) 🔗
设置指定索引处的 AudioStream。
void set_stream_probability_weight(index: int, weight: float) 🔗
设置流在指定索引处的概率权重。该值越高,随机化器在随机播放模式下选择该流的可能性就越大。