VideoStreamPlayback¶
继承: Resource < RefCounted < Object
VideoStream用于管理从VideoStreamPlayer播放时的播放状态的内部类。
描述¶
此类旨在被具有VideoStream自定义实现的视频解码器扩展覆盖。
方法¶
_get_channels() virtual const |
|
_get_length() virtual const |
|
_get_mix_rate() virtual const |
|
_get_playback_position() virtual const |
|
_get_texture() virtual const |
|
_is_paused() virtual const |
|
_is_playing() virtual const |
|
void |
_play() virtual |
void |
|
void |
_set_audio_track(idx: int) virtual |
void |
_set_paused(paused: bool) virtual |
void |
_stop() virtual |
void |
|
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 🔗
void _play() virtual 🔗
调用以响应VideoStreamPlayer.autoplay或VideoStreamPlayer.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。