AudioStreamPlayback

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

Наследуется от: AudioStreamPlaybackInteractive, AudioStreamPlaybackPlaylist, AudioStreamPlaybackPolyphonic, AudioStreamPlaybackResampled, AudioStreamPlaybackSynchronized

Метакласс для воспроизведения звука.

Описание

Может воспроизводить, зацикливать, приостанавливать прокрутку аудио. См. AudioStream и AudioStreamOggVorbis для использования.

Обучающие материалы

Методы

int

_get_loop_count() virtual const

Variant

_get_parameter(name: StringName) virtual const

float

_get_playback_position() virtual required const

bool

_is_playing() virtual required const

int

_mix(buffer: AudioFrame*, rate_scale: float, frames: int) virtual required

void

_seek(position: float) virtual

void

_set_parameter(name: StringName, value: Variant) virtual

void

_start(from_pos: float) virtual required

void

_stop() virtual required

void

_tag_used_streams() virtual

int

get_loop_count() const

float

get_playback_position() const

AudioSamplePlayback

get_sample_playback() const

bool

is_playing() const

PackedVector2Array

mix_audio(rate_scale: float, frames: int)

void

seek(time: float = 0.0)

void

set_sample_playback(playback_sample: AudioSamplePlayback)

void

start(from_pos: float = 0.0)

void

stop()


Описания метода

int _get_loop_count() virtual const 🔗

Переопределяемый метод. Должен возвращать, сколько раз этот аудиопоток был зациклен. Большинство встроенных воспроизведений всегда возвращают 0.


Variant _get_parameter(name: StringName) virtual const 🔗

Возврат текущего значения параметра воспроизведения по имени (см. AudioStream._get_parameter_list()).


float _get_playback_position() virtual required const 🔗

Переопределяемый метод. Должен возвращать текущий прогресс по аудиопотоку в секундах.


bool _is_playing() virtual required const 🔗

Переопределяемый метод. Должен возвращать true, если это воспроизведение активно и воспроизводит свой аудиопоток.


int _mix(buffer: AudioFrame*, rate_scale: float, frames: int) virtual required 🔗

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

Примечание: Не имеет смысла переопределять этот метод в GDScript или C#. Только GDExtension может воспользоваться им.


void _seek(position: float) virtual 🔗

Переопределите этот метод, чтобы настроить действия при поиске аудиопотока в указанной position, например, вызвав AudioStreamPlayer.seek().


void _set_parameter(name: StringName, value: Variant) virtual 🔗

Установить текущее значение параметра воспроизведения по имени (см. AudioStream._get_parameter_list()).


void _start(from_pos: float) virtual required 🔗

Переопределите этот метод, чтобы настроить то, что происходит при запуске воспроизведения в заданной позиции, например, вызвав AudioStreamPlayer.play().


void _stop() virtual required 🔗

Переопределите этот метод, чтобы настроить действия, которые будут происходить при остановке воспроизведения, например, вызвав AudioStreamPlayer.stop().


void _tag_used_streams() virtual 🔗

Переопределяемый метод. Вызывается всякий раз, когда аудиопоток микшируется, если воспроизведение активно и AudioServer.set_enable_tagging_used_audio_streams() установлен в true. Плагины редактора могут использовать этот метод для «тегирования» текущей позиции вдоль аудиопотока и отображения ее в предварительном просмотре.


int get_loop_count() const 🔗

Возвращает количество зацикливаний потока.


float get_playback_position() const 🔗

Возвращает текущую позицию в потоке в секундах.


AudioSamplePlayback get_sample_playback() const 🔗

Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.

Возвращает AudioSamplePlayback, связанный с этим AudioStreamPlayback, для воспроизведения аудиосэмпла этого потока.


bool is_playing() const 🔗

Возвращает true, если поток воспроизводится.


PackedVector2Array mix_audio(rate_scale: float, frames: int) 🔗

Смешивает до frames аудио из потока из текущей позиции со скоростью rate_scale, продвигая поток.

Возвращает PackedVector2Array, где каждый элемент содержит уровни громкости левого и правого каналов каждого кадра.

Примечание: Может возвращать меньше кадров, чем запрошено, обязательно используйте размер возвращаемого значения.


void seek(time: float = 0.0) 🔗

Ищет поток в указанное time в секундах.


void set_sample_playback(playback_sample: AudioSamplePlayback) 🔗

Экспериментальное: Этот метод может быть изменён или удалён в будущих версиях.

Связывает AudioSamplePlayback с этим AudioStreamPlayback для воспроизведения аудиосэмпла этого потока.


void start(from_pos: float = 0.0) 🔗

Запускает поток с указанного from_pos в секундах.


void stop() 🔗

Останавливает поток.