Attention: Here be dragons (unstable version)
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Redot.
Checking the stable version of the documentation...
VideoStreamPlayback
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.