AudioStreamRandomizer

Наследует: AudioStream < Resource < RefCounted < Object

Объединяет пул аудиопотоков с изменением высоты тона и громкости.

Описание

Выбирает случайный аудиопоток из пула в зависимости от режима воспроизведения и применяет случайное смещение высоты тона и громкости во время воспроизведения.

Свойства

PlaybackMode

playback_mode

0

float

random_pitch

1.0

float

random_volume_offset_db

0.0

int

streams_count

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)

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 🔗

Управляет тем, как AudioStream Randomizer выбирает, какой 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) 🔗

Установить вес вероятности потока по указанному индексу. Чем выше это значение, тем больше вероятность, что рандомизатор выберет этот поток во время случайных режимов воспроизведения.