AudioStreamPlayer
Узел для воспроизведения звука.
Описание
Узел AudioStreamPlayer воспроизводит аудиопоток непозиционно. Он идеально подходит для пользовательских интерфейсов, меню или фоновой музыки.
Чтобы использовать этот узел, stream необходимо установить на допустимый ресурс AudioStream. Также поддерживается воспроизведение более одного звука одновременно, см. max_polyphony.
Если вам нужно воспроизвести звук в определенной позиции, используйте вместо этого AudioStreamPlayer2D или AudioStreamPlayer3D.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Методы
void |
|
void |
|
void |
stop() |
Сигналы
finished() 🔗
Выдается, когда звук заканчивается без прерываний. Этот сигнал не выдается при вызове stop() или при выходе из дерева во время воспроизведения звуков.
Перечисления
enum MixTarget: 🔗
MixTarget MIX_TARGET_STEREO = 0
Звук будет воспроизводиться только на первом канале. Это значение по умолчанию.
MixTarget MIX_TARGET_SURROUND = 1
Звук будет воспроизводиться на всех каналах объемного звучания.
MixTarget MIX_TARGET_CENTER = 2
Звук будет воспроизводиться на втором канале, который обычно является центральным.
Описания свойств
Если true, этот узел вызывает play() при входе в дерево.
StringName bus = &"Master" 🔗
void set_bus(value: StringName)
StringName get_bus()
Имя целевой шины. Все звуки из этого узла будут воспроизводиться на этой шине.
Примечание: Во время выполнения, если шины с указанным именем не существует, все звуки будут возвращаться на "Master". См. также AudioServer.get_bus_name().
Максимальное количество звуков, которые этот узел может воспроизводить одновременно. Вызов play() после достижения этого значения отсечет самые старые звуки.
Каналы микширования. Не оказывает никакого эффекта, если обнаружено два динамика или меньше (см. SpeakerMode).
Высота и темп аудио, как множитель частоты дискретизации stream. Значение 2.0 удваивает высоту аудио, а значение 0.5 уменьшает высоту вдвое.
PlaybackType playback_type = 0 🔗
void set_playback_type(value: PlaybackType)
PlaybackType get_playback_type()
Экспериментальное: Это свойство может быть изменено или удалено в будущих версиях.
Тип воспроизведения потокового проигрывателя. Если установлено значение, отличное от значения по умолчанию, будет принудительно выбран этот тип воспроизведения.
Если true, этот узел воспроизводит звуки. Установка этого свойства имеет тот же эффект, что и play() и stop().
AudioStream stream 🔗
void set_stream(value: AudioStream)
AudioStream get_stream()
Ресурс AudioStream для воспроизведения. Установка этого свойства останавливает все воспроизводимые в данный момент звуки. Если оставить пустым, AudioStreamPlayer не будет работать.
Если true, звуки приостанавливаются. Установка stream_paused в false возобновляет все звуки.
Примечание: Это свойство автоматически изменяется при выходе или входе в дерево, или этот узел приостанавливается (см. Node.process_mode).
Громкость звука в децибелах. Это смещение громкости stream.
Примечание: Для преобразования между децибелами и линейной энергией (как это делают большинство ползунков громкости) используйте volume_linear или @GlobalScope.db_to_linear() и @GlobalScope.linear_to_db().
Громкость звука, как линейное значение.
Примечание: Этот член изменяет volume_db для удобства. Возвращаемое значение эквивалентно результату @GlobalScope.db_to_linear() для volume_db. Установка этого члена эквивалентна установке volume_db на результат @GlobalScope.linear_to_db() для значения.
Описания метода
float get_playback_position() 🔗
Возвращает позицию в AudioStream последнего звука в секундах. Возвращает 0.0, если звуки не воспроизводятся.
Примечание: Позиция не всегда точна, так как AudioServer не микширует звук в каждом обработанном кадре. Чтобы получить более точные результаты, добавьте AudioServer.get_time_since_last_mix() к возвращаемой позиции.
Примечание: Этот метод всегда возвращает 0.0, если stream является AudioStreamInteractive, так как он может воспроизводить несколько клипов одновременно.
AudioStreamPlayback get_stream_playback() 🔗
Возвращает последний AudioStreamPlayback этого узла, обычно последний созданный play(). Если звуки не воспроизводятся, этот метод завершается ошибкой и возвращает пустое воспроизведение.
Возвращает true, если какой-либо звук активен, даже если stream_paused установлен в true. См. также playing и get_stream_playback().
void play(from_position: float = 0.0) 🔗
Воспроизводит звук с начала или с указанного from_position в секундах.
void seek(to_position: float) 🔗
Перезапускает все звуки, которые должны быть воспроизведены с указанного to_position, в секундах. Ничего не делает, если звуки не воспроизводятся.
void stop() 🔗
Останавливает все звуки из этого узла.