Class reference
AudioStreamPlayback
Inherits RefCounted
Meta class for playing back audio.
Description
Can play, loop, pause a scroll through audio. See AudioStream and AudioStreamOggVorbis for usage.
Methods
int _get_loop_count() virtual const
int _get_loop_count() virtual constOverridable method. Should return how many times this audio stream has looped. Most built-in playbacks always return 0.
Variant _get_parameter(StringName name) virtual const
Variant _get_parameter(StringName name) virtual constReturn the current value of a playback parameter by name (see AudioStream._get_parameter_list()).
float _get_playback_position() virtual const
float _get_playback_position() virtual constOverridable method. Should return the current progress along the audio stream, in seconds.
bool _is_playing() virtual const
bool _is_playing() virtual constOverridable method. Should return true if this playback is active and playing its audio stream.
int _mix(AudioFrame* buffer, float rate_scale, int frames) virtual required
int _mix(AudioFrame* buffer, float rate_scale, int frames) virtual requiredOverride this method to customize how the audio stream is mixed. This method is called even if the playback is not active. Note: It is not useful to override this method in GDScript or C#. Only GDExtension can take advantage of it.
void _seek(float position) virtual
float position) virtualOverride this method to customize what happens when seeking this audio stream at the given position, such as by calling AudioStreamPlayer.seek().
void _set_parameter(StringName name, Variant value) virtual
StringName name, Variant value) virtualSet the current value of a playback parameter by name (see AudioStream._get_parameter_list()).
void _start(float from_pos) virtual
float from_pos) virtualOverride this method to customize what happens when the playback starts at the given position, such as by calling AudioStreamPlayer.play().
void _stop() virtual
Override this method to customize what happens when the playback is stopped, such as by calling AudioStreamPlayer.stop().
void _tag_used_streams() virtual
Overridable method. Called whenever the audio stream is mixed if the playback is active and AudioServer.set_enable_tagging_used_audio_streams() has been set to true. Editor plugins may use this method to "tag" the current position along the audio stream and display it in a preview.
int get_loop_count() const
int get_loop_count() constReturns the number of times the stream has looped.
float get_playback_position() const
float get_playback_position() constReturns the current position in the stream, in seconds.
AudioSamplePlayback get_sample_playback() const
AudioSamplePlayback get_sample_playback() constReturns the AudioSamplePlayback associated with this AudioStreamPlayback for playing back the audio sample of this stream.
bool is_playing() const
bool is_playing() constReturns true if the stream is playing.
PackedVector2Array mix_audio(float rate_scale, int frames)
PackedVector2Array mix_audio(float rate_scale, int frames)Mixes up to frames of audio from the stream from the current position, at a rate of rate_scale, advancing the stream. Returns a PackedVector2Array where each element holds the left and right channel volume levels of each frame. Note: Can return fewer frames than requested, make sure to use the size of the return value.
void seek(float time = 0.0)
float time = 0.0)Seeks the stream at the given time, in seconds.
void set_sample_playback(AudioSamplePlayback playback_sample)
AudioSamplePlayback playback_sample)Associates AudioSamplePlayback to this AudioStreamPlayback for playing back the audio sample of this stream.
void start(float from_pos = 0.0)
float from_pos = 0.0)Starts the stream from the given from_pos, in seconds.
void stop()
Stops the stream.