VideoStreamPlayback

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

Внутренний класс, используемый VideoStream для управления состоянием воспроизведения при воспроизведении из VideoStreamPlayer.

Описание

Этот класс предназначен для переопределения расширениями видеодекодера с пользовательскими реализациями VideoStream.

Методы

int

_get_channels() virtual const

float

_get_length() virtual const

int

_get_mix_rate() virtual const

float

_get_playback_position() virtual const

Texture2D

_get_texture() virtual const

bool

_is_paused() virtual const

bool

_is_playing() virtual const

void

_play() virtual

void

_seek(time: float) virtual

void

_set_audio_track(idx: int) virtual

void

_set_paused(paused: bool) virtual

void

_stop() virtual

void

_update(delta: float) virtual required

int

mix_audio(num_frames: int, buffer: PackedFloat32Array = PackedFloat32Array(), offset: int = 0)


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

int _get_channels() virtual const 🔗

Возвращает количество аудиоканалов.


float _get_length() virtual const 🔗

Возвращает длительность видео в секундах, если она известна, или 0, если неизвестна.


int _get_mix_rate() virtual const 🔗

Возвращает частоту дискретизации звука, используемую для микширования.


float _get_playback_position() virtual const 🔗

Возвращает текущую временную метку воспроизведения. Вызывается в ответ на геттер VideoStreamPlayer.stream_position.


Texture2D _get_texture() virtual const 🔗

Выделяет Texture2D, в котором будут отрисовываться декодированные видеокадры.


bool _is_paused() virtual const 🔗

Возвращает приостановленный статус, установленный _set_paused().


bool _is_playing() virtual const 🔗

Возвращает состояние воспроизведения, определенное вызовами _play() и _stop().


void _play() virtual 🔗

Вызывается в ответ на VideoStreamPlayer.autoplay или VideoStreamPlayer.play(). Обратите внимание, что ручное воспроизведение может также вызывать _stop() несколько раз, прежде чем будет вызван этот метод. _is_playing() должен возвращать true после воспроизведения.


void _seek(time: float) virtual 🔗

Ищет time секунд. Вызывается в ответ на сеттер VideoStreamPlayer.stream_position.


void _set_audio_track(idx: int) virtual 🔗

Выберите звуковую дорожку idx. Вызывается при начале воспроизведения и в ответ на сеттер VideoStreamPlayer.audio_track.


void _set_paused(paused: bool) virtual 🔗

Установите приостановленное состояние воспроизведения видео. _is_paused() должен возвращать paused. Вызывается в ответ на сеттер VideoStreamPlayer.paused.


void _stop() virtual 🔗

Останавливает воспроизведение. Может вызываться несколько раз перед _play() или в ответ на VideoStreamPlayer.stop(). _is_playing() должен возвращать false после остановки.


void _update(delta: float) virtual required 🔗

Отмечает воспроизведение видео на delta секунд. Вызывается каждый кадр, пока оба _is_paused() и _is_playing() возвращают true.


int mix_audio(num_frames: int, buffer: PackedFloat32Array = PackedFloat32Array(), offset: int = 0) 🔗

Рендеринг num_frames аудиокадров (из _get_channels() floats каждый) из buffer, начиная с индекса offset в массиве. Возвращает количество рендеринговых аудиокадров или -1 в случае ошибки.