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
依各流的權重隨機選擇,但盡量避免連續兩次播放同一條流。若池中僅有一條聲音,則必然重複播放。
PlaybackMode PLAYBACK_RANDOM = 1
依各流的權重隨機選擇流。若池中僅有一條聲音,則必然重複播放同一聲音。
PlaybackMode PLAYBACK_SEQUENTIAL = 2
依流池中的順序播放。若池中只剩一條聲音,則始終播放同一聲音。
屬性說明
PlaybackMode playback_mode = 0 🔗
void set_playback_mode(value: PlaybackMode)
PlaybackMode get_playback_mode()
控制 AudioStreamRandomizer 決定下一條要播放的 AudioStream 的方式。
隨機音高變化強度。1 代表不變化。
float random_volume_offset_db = 0.0 🔗
隨機音量變化強度。0 代表不變化。
流池中的音訊流數量。
方法說明
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) 🔗
設定指定索引處音訊流的機率權重。值越高,隨機播放模式就越容易選到此流。