AudioStreamRandomizer

继承: AudioStream < Resource < RefCounted < Object

包装具有音高和音量转换的音频流池。

描述

根据播放模式从池中选择一个随机的AudioStream,并在播放过程中应用随机音高移位和音量移位。

属性

方法

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)

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

按照流池中出现的顺序播放流。如果池中只有一个声音,则始终播放相同的声音。


属性说明

PlaybackMode playback_mode = 0 🔗

控制此AudioStreamRandomizer如何选择接下来要播放的AudioStream。


float random_pitch = 1.0 🔗

  • void set_random_pitch(value: float)

  • float get_random_pitch()

随机音高变化的强度。值为1表示没有变化。


float random_volume_offset_db = 0.0 🔗

  • void set_random_volume_offset_db(value: float)

  • float get_random_volume_offset_db()

随机体积变化的强度。值为0表示没有变化。


int streams_count = 0 🔗

  • void set_streams_count(value: int)

  • int get_streams_count()

流池中的流数。


方法说明

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) 🔗

将流的概率权重设置在指定的索引处。该值越高,随机发生器在随机播放模式下选择该流的可能性就越大。