<?xml version="1.0" encoding="UTF-8" ?>
<class name="AudioStreamPlayer" inherits="Node" version="4.0">
	<brief_description>
		Plays back audio non-positionally.
	</brief_description>
	<description>
		Plays an audio stream non-positionally.
		To play audio positionally, use [AudioStreamPlayer2D] or [AudioStreamPlayer3D] instead of [AudioStreamPlayer].
	</description>
	<tutorials>
		<link title="Audio streams">https://docs.godotengine.org/en/latest/tutorials/audio/audio_streams.html</link>
		<link title="2D Dodge The Creeps Demo">https://godotengine.org/asset-library/asset/515</link>
		<link title="Audio Device Changer Demo">https://godotengine.org/asset-library/asset/525</link>
		<link title="Audio Generator Demo">https://godotengine.org/asset-library/asset/526</link>
		<link title="Audio Mic Record Demo">https://godotengine.org/asset-library/asset/527</link>
		<link title="Audio Spectrum Demo">https://godotengine.org/asset-library/asset/528</link>
	</tutorials>
	<methods>
		<method name="get_playback_position">
			<return type="float" />
			<description>
				Returns the position in the [AudioStream] in seconds.
			</description>
		</method>
		<method name="get_stream_playback">
			<return type="AudioStreamPlayback" />
			<description>
				Returns the [AudioStreamPlayback] object associated with this [AudioStreamPlayer].
			</description>
		</method>
		<method name="play">
			<return type="void" />
			<argument index="0" name="from_position" type="float" default="0.0" />
			<description>
				Plays the audio from the given [code]from_position[/code], in seconds.
			</description>
		</method>
		<method name="seek">
			<return type="void" />
			<argument index="0" name="to_position" type="float" />
			<description>
				Sets the position from which audio will be played, in seconds.
			</description>
		</method>
		<method name="stop">
			<return type="void" />
			<description>
				Stops the audio.
			</description>
		</method>
	</methods>
	<members>
		<member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false">
			If [code]true[/code], audio plays when added to scene tree.
		</member>
		<member name="bus" type="StringName" setter="set_bus" getter="get_bus" default="&amp;&quot;Master&quot;">
			Bus on which this audio is playing.
		</member>
		<member name="max_polyphony" type="int" setter="set_max_polyphony" getter="get_max_polyphony" default="1">
			The maximum number of sounds this node can play at the same time. Playing additional sounds after this value is reached will cut off the oldest sounds.
		</member>
		<member name="mix_target" type="int" setter="set_mix_target" getter="get_mix_target" enum="AudioStreamPlayer.MixTarget" default="0">
			If the audio configuration has more than two speakers, this sets the target channels. See [enum MixTarget] constants.
		</member>
		<member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0">
			The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate.
		</member>
		<member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false">
			If [code]true[/code], audio is playing.
		</member>
		<member name="stream" type="AudioStream" setter="set_stream" getter="get_stream">
			The [AudioStream] object to be played.
		</member>
		<member name="stream_paused" type="bool" setter="set_stream_paused" getter="get_stream_paused" default="false">
			If [code]true[/code], the playback is paused. You can resume it by setting [code]stream_paused[/code] to [code]false[/code].
		</member>
		<member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db" default="0.0">
			Volume of sound, in dB.
		</member>
	</members>
	<signals>
		<signal name="finished">
			<description>
				Emitted when the audio stops playing.
			</description>
		</signal>
	</signals>
	<constants>
		<constant name="MIX_TARGET_STEREO" value="0" enum="MixTarget">
			The audio will be played only on the first channel.
		</constant>
		<constant name="MIX_TARGET_SURROUND" value="1" enum="MixTarget">
			The audio will be played on all surround channels.
		</constant>
		<constant name="MIX_TARGET_CENTER" value="2" enum="MixTarget">
			The audio will be played on the second channel, which is usually the center.
		</constant>
	</constants>
</class>