VideoStreamPlayback๏ Godot Course
Inherits: Resource < RefCounted < Object
Internal class used by VideoStream to manage playback state when played from a VideoStreamPlayer.
Description๏
This class is intended to be overridden by video decoder extensions with custom implementations of VideoStream.
Methods๏
_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) |
Method Descriptions๏
int _get_channels() virtual const ๐
Returns the number of audio channels.
float _get_length() virtual const ๐
Returns the video duration in seconds, if known, or 0 if unknown.
int _get_mix_rate() virtual const ๐
Returns the audio sample rate used for mixing.
float _get_playback_position() virtual const ๐
Return the current playback timestamp. Called in response to the VideoStreamPlayer.stream_position getter.
Texture2D _get_texture() virtual const ๐
Allocates a Texture2D in which decoded video frames will be drawn.
bool _is_paused() virtual const ๐
Returns the paused status, as set by _set_paused().
bool _is_playing() virtual const ๐
Returns the playback state, as determined by calls to _play() and _stop().
void _play() virtual ๐
Called in response to VideoStreamPlayer.autoplay or VideoStreamPlayer.play(). Note that manual playback may also invoke _stop() multiple times before this method is called. _is_playing() should return true
once playing.
void _seek(time: float) virtual ๐
Seeks to time
seconds. Called in response to the VideoStreamPlayer.stream_position setter.
void _set_audio_track(idx: int) virtual ๐
Select the audio track idx
. Called when playback starts, and in response to the VideoStreamPlayer.audio_track setter.
void _set_paused(paused: bool) virtual ๐
Set the paused status of video playback. _is_paused() must return paused
. Called in response to the VideoStreamPlayer.paused setter.
void _stop() virtual ๐
Stops playback. May be called multiple times before _play(), or in response to VideoStreamPlayer.stop(). _is_playing() should return false
once stopped.
void _update(delta: float) virtual ๐
Ticks video playback for delta
seconds. Called every frame as long as both _is_paused() and _is_playing() return true
.
int mix_audio(num_frames: int, buffer: PackedFloat32Array = PackedFloat32Array(), offset: int = 0) ๐
Render num_frames
audio frames (of _get_channels() floats each) from buffer
, starting from index offset
in the array. Returns the number of audio frames rendered, or -1 on error.