Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AudioStreamPlayer

Успадковує: Node < Object

Вузол для відтворення аудіо.

Опис

Вузол AudioStreamPlayer відтворює аудіопотік непозиційно. Він ідеально підходить для інтерфейсів користувача, меню або фонової музики.

Щоб використовувати цей вузол, для stream потрібно встановити дійсний ресурс AudioStream. Також підтримується відтворення кількох звуків одночасно, див. max_polyphony.

Якщо вам потрібно відтворити аудіо в певній позиції, замість цього використовуйте AudioStreamPlayer2D або AudioStreamPlayer3D.

Посібники

Властивості

bool

autoplay

false

StringName

bus

&"Master"

int

max_polyphony

1

MixTarget

mix_target

0

float

pitch_scale

1.0

PlaybackType

playback_type

0

bool

playing

false

AudioStream

stream

bool

stream_paused

false

float

volume_db

0.0

float

volume_linear

Методи

float

get_playback_position()

AudioStreamPlayback

get_stream_playback()

bool

has_stream_playback()

void

play(from_position: float = 0.0)

void

seek(to_position: float)

void

stop()


Сигнали

finished() 🔗

Видається, коли звук закінчується відтворення без перерв. Цей сигнал не видається під час виклику stop() або під час виходу з дерева під час відтворення звуків.


Переліки

enum MixTarget: 🔗

MixTarget MIX_TARGET_STEREO = 0

Аудіо буде відтворюватися тільки на першому каналі. Це значення за умовчанням.

MixTarget MIX_TARGET_SURROUND = 1

Аудіо відтворюватиметься на всіх каналах об’ємного звуку.

MixTarget MIX_TARGET_CENTER = 2

Аудіо відтворюватиметься на другому каналі, який зазвичай є центральним.


Описи властивостей

bool autoplay = false 🔗

  • void set_autoplay(value: bool)

  • bool is_autoplay_enabled()

Якщо true, цей вузол викликає play() при вході в дерево.


StringName bus = &"Master" 🔗

  • void set_bus(value: StringName)

  • StringName get_bus()

Назва цільової шини. Усі звуки з цього вузла відтворюватимуться на цій шині.

Примітка: Під час виконання, якщо не існує шини з вказаною назвою, усі звуки повертатимуться до "Master". Дивіться також AudioServer.get_bus_name().


int max_polyphony = 1 🔗

  • void set_max_polyphony(value: int)

  • int get_max_polyphony()

Максимальна кількість звуків, які цей вузол може відтворювати одночасно. Виклик play() після досягнення цього значення відрізає найстаріші звуки.


MixTarget mix_target = 0 🔗

Цільові канали міксу. Не має ефекту, якщо виявлено два або менше динаміків (див. SpeakerMode).


float pitch_scale = 1.0 🔗

  • void set_pitch_scale(value: float)

  • float get_pitch_scale()

Висота та темп звуку як множник частоти дискретизації stream. Значення 2.0 подвоює висоту звуку, тоді як значення 0.5 зменшує висоту вдвічі.


PlaybackType playback_type = 0 🔗

Експериментальний: Ця властивість може бути змінена або усунута у наступних версіях.

Тип відтворення потокового програвача. Якщо встановлено інше значення, ніж значення за замовчуванням, цей тип відтворення буде примусово.


bool playing = false 🔗

  • void set_playing(value: bool)

  • bool is_playing()

Якщо true, цей вузол відтворює звуки. Налаштування цієї властивості має той самий ефект, що й play() і stop().


AudioStream stream 🔗

Ресурс AudioStream для відтворення. Якщо налаштувати цю властивість, усі звуки, що відтворюються в даний момент, зупиняються. Якщо залишити пустим, AudioStreamPlayer не працюватиме.


bool stream_paused = false 🔗

  • void set_stream_paused(value: bool)

  • bool get_stream_paused()

Якщо true, звуки призупиняються. Якщо встановити stream_paused на false, усі звуки відновлюються.

Примітка: Ця властивість автоматично змінюється під час виходу з дерева або входу в нього, або цей вузол призупинено (див. Node.process_mode).


float volume_db = 0.0 🔗

  • void set_volume_db(value: float)

  • float get_volume_db()

Гучність звуку, в децибелах. Це зміщення обсягу stream.

Примітка: Для перетворення між децибелами та лінійною енергією (як це робить більшість повзунків гучності), використовуйте volume_linear або @GlobalScope.db_to_linear() і @GlobalScope.linear_to_db().


float volume_linear 🔗

  • void set_volume_linear(value: float)

  • float get_volume_linear()

Гучність звуку, як лінійна величина.

Примітка: цей учасник змінює 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(). Якщо звуки не відтворюються, цей метод завершується помилкою та повертає порожнє відтворення.


bool has_stream_playback() 🔗

Повертає true, якщо будь-який звук активний, навіть якщо stream_paused встановлюється до true. Дивись також play і get_stream_playback().


void play(from_position: float = 0.0) 🔗

Відтворення звуку з початку або заданого from_position за секунди.


void seek(to_position: float) 🔗

Перезапускає всі звуки, які потрібно відтворити, починаючи з заданого to_position за секунди. Нічого не робить, якщо звуки не відтворюються.


void stop() 🔗

Зупиняє всі звуки з цього вузла.