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

Overridable method. Should return how many times this audio stream has looped. Most built-in playbacks always return 0.

float _get_playback_position() virtual const

Overridable method. Should return the current progress along the audio stream, in seconds.

bool _is_playing() virtual const

Overridable 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

Override 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

Override this method to customize what happens when seeking this audio stream at the given position, such as by calling AudioStreamPlayer.seek().

void _start(float from_pos) virtual

Override 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

Returns the number of times the stream has looped.

float get_playback_position() const

Returns the current position in the stream, in seconds.

bool is_playing() const

Returns true if the stream is playing.

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)

Seeks the stream at the given time, in seconds.

void start(float from_pos = 0.0)

Starts the stream from the given from_pos, in seconds.

void stop()

Stops the stream.

Tutorials

Source revision 4f5b14abade2
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.