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

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_positiongetter调用。


Texture2D _get_texture() virtual const 🔗

分配一个Texture2D,其中将绘制解码的视频帧。


bool _is_paused() virtual const 🔗

返回_set_paused()设置的暂停状态。


bool _is_playing() virtual const 🔗

返回由调用_play()_stop()确定的播放状态。


void _play() virtual 🔗

调用以响应VideoStreamPlayer.autoplayVideoStreamPlayer.play()。请注意,手动播放也可能在调用此方法之前多次调用_stop()_is_playing()应该在播放一次时返回true


void _seek(time: float) virtual 🔗

寻求time秒。调用以响应VideoStreamPlayer.stream_positionsetter。


void _set_audio_track(idx: int) virtual 🔗

选择音轨idx。播放开始时调用,并响应VideoStreamPlayer.audio_tracksetter。


void _set_paused(paused: bool) virtual 🔗

设置视频播放的暂停状态。_is_paused()必须返回paused。调用以响应VideoStreamPlayer.pausedsetter。


void _stop() virtual 🔗

停止播放。可以在_play()之前多次调用,或响应VideoStreamPlayer.stop()_is_playing()停止后应返回false


void _update(delta: float) virtual 🔗

勾选视频播放delta秒。只要_is_paused()_is_playing()都返回true,就调用每一帧。


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

buffer渲染num_frames音频帧(_get_channels()每个浮动),从数组中的索引offset开始。返回渲染的音频帧数,错误时返回-1。