A node for audio playback.
The [AudioStreamPlayer] node plays an audio stream non-positionally. It is ideal for user interfaces, menus, or background music. To use this node, [member stream] needs to be set to a valid [AudioStream] resource. Playing more than one sound at the same time is also supported, see [member max_polyphony]. If you need to play audio at a specific position, use [AudioStreamPlayer2D] or [AudioStreamPlayer3D] instead.
$DOCS_URL/tutorials/audio/audio_streams.html https://godotengine.org/asset-library/asset/2712 https://godotengine.org/asset-library/asset/2758 https://godotengine.org/asset-library/asset/2759 https://godotengine.org/asset-library/asset/2760 https://godotengine.org/asset-library/asset/2762
Returns the position in the [AudioStream] of the latest sound, in seconds. Returns [code]0.0[/code] if no sounds are playing. [b]Note:[/b] The position is not always accurate, as the [AudioServer] does not mix audio every processed frame. To get more accurate results, add [method AudioServer.get_time_since_last_mix] to the returned position.
Returns the latest [AudioStreamPlayback] of this node, usually the most recently created by [method play]. If no sounds are playing, this method fails and returns an empty playback.
Returns [code]true[/code] if any sound is active, even if [member stream_paused] is set to [code]true[/code]. See also [member playing] and [method get_stream_playback].
Plays a sound from the beginning, or the given [param from_position] in seconds.
Restarts all sounds to be played from the given [param to_position], in seconds. Does nothing if no sounds are playing.
Stops all sounds from this node.
- If [code]true[/code], this node calls [method play] when entering the tree.
- The target bus name. All sounds from this node will be playing on this bus. [b]Note:[/b] At runtime, if no bus with the given name exists, all sounds will fall back on [code]"Master"[/code]. See also [method AudioServer.get_bus_name].
- The maximum number of sounds this node can play at the same time. Calling [method play] after this value is reached will cut off the oldest sounds.
- The mix target channels, as one of the [enum MixTarget] constants. Has no effect when two speakers or less are detected (see [enum AudioServer.SpeakerMode]).
- The audio's pitch and tempo, as a multiplier of the [member stream]'s sample rate. A value of [code]2.0[/code] doubles the audio's pitch, while a value of [code]0.5[/code] halves the pitch.
- The playback type of the stream player. If set other than to the default value, it will force that playback type.
- If [code]true[/code], this node is playing sounds. Setting this property has the same effect as [method play] and [method stop].
- The [AudioStream] resource to be played. Setting this property stops all currently playing sounds. If left empty, the [AudioStreamPlayer] does not work.
- If [code]true[/code], the sounds are paused. Setting [member stream_paused] to [code]false[/code] resumes all sounds. [b]Note:[/b] This property is automatically changed when exiting or entering the tree, or this node is paused (see [member Node.process_mode]).
- Volume of sound, in decibel. This is an offset of the [member stream]'s volume. [b]Note:[/b] To convert between decibel and linear energy (like most volume sliders do), use [method @GlobalScope.db_to_linear] and [method @GlobalScope.linear_to_db].
Emitted when a sound finishes playing without interruptions. This signal is [i]not[/i] emitted when calling [method stop], or when exiting the tree while sounds are playing.
The audio will be played only on the first channel. This is the default.
The audio will be played on all surround channels.
The audio will be played on the second channel, which is usually the center.