AudioStreamPlayer
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, stream
needs to be set to a valid AudioStream
resource. Playing more than one sound at the same time is also supported, see max_polyphony
.
If you need to play audio at a specific position, use AudioStreamPlayer2D
or AudioStreamPlayer3D
instead.
属性
bool | autoplay |
StringName | bus |
int | max_polyphony |
MixTarget | mix_target |
float | pitch_scale |
PlaybackType | playback_type |
bool | playing |
AudioStream | stream |
bool | stream_paused |
float | volume_db |
方法
float | get_playback_position ( ) |
AudioStreamPlayback | get_stream_playback ( ) |
bool | has_stream_playback ( ) |
void | play ( from_position: float = 0.0 ) |
void | seek ( to_position: float ) |
void | stop ( ) |
信号
finished ( )
Emitted when a sound finishes playing without interruptions. This signal is not emitted when calling stop
, or when exiting the tree while sounds are playing.
枚举
enum MixTarget:
MixTarget MIX_TARGET_STEREO = 0
The audio will be played only on the first channel. This is the default.
MixTarget MIX_TARGET_SURROUND = 1
The audio will be played on all surround channels.
MixTarget MIX_TARGET_CENTER = 2
The audio will be played on the second channel, which is usually the center.
属性说明
bool
autoplay = false
If true
, this node calls play
when entering the tree.
StringName
bus = &"Master"
void
set_bus ( value:StringName
)StringName
get_bus ( )
The target bus name. All sounds from this node will be playing on this bus.
Note: At runtime, if no bus with the given name exists, all sounds will fall back on "Master"
. See also AudioServer.get_bus_name
.
int
max_polyphony = 1
The maximum number of sounds this node can play at the same time. Calling play
after this value is reached will cut off the oldest sounds.
MixTarget mix_target = 0
The mix target channels, as one of the MixTarget constants. Has no effect when two speakers or less are detected (see SpeakerMode).
float
pitch_scale = 1.0
The audio's pitch and tempo, as a multiplier of the stream
's sample rate. A value of 2.0
doubles the audio's pitch, while a value of 0.5
halves the pitch.
PlaybackType playback_type = 0
void
set_playback_type ( value: PlaybackType )- PlaybackType get_playback_type ( )
实验性: 未来版本中可能会修改或移除该属性。
The playback type of the stream player. If set other than to the default value, it will force that playback type.
bool
playing = false
If true
, this node is playing sounds. Setting this property has the same effect as play
and stop
.
AudioStream
stream
void
set_stream ( value:AudioStream
)AudioStream
get_stream ( )
The AudioStream
resource to be played. Setting this property stops all currently playing sounds. If left empty, the AudioStreamPlayer does not work.
bool
stream_paused = false
If true
, the sounds are paused. Setting stream_paused
to false
resumes all sounds.
Note: This property is automatically changed when exiting or entering the tree, or this node is paused (see Node.process_mode
).
float
volume_db = 0.0
Volume of sound, in decibel. This is an offset of the stream
's volume.
Note: To convert between decibel and linear energy (like most volume sliders do), use @GlobalScope.db_to_linear
and @GlobalScope.linear_to_db
.
方法说明
float
get_playback_position ( )
Returns the position in the AudioStream
of the latest sound, in seconds. Returns 0.0
if no sounds are playing.
Note: The position is not always accurate, as the AudioServer
does not mix audio every processed frame. To get more accurate results, add AudioServer.get_time_since_last_mix
to the returned position.
AudioStreamPlayback
get_stream_playback ( )
Returns the latest AudioStreamPlayback
of this node, usually the most recently created by play
. If no sounds are playing, this method fails and returns an empty playback.
bool
has_stream_playback ( )
Returns true
if any sound is active, even if stream_paused
is set to true
. See also playing
and get_stream_playback
.
void
play ( from_position: float
= 0.0 )
Plays a sound from the beginning, or the given from_position
in seconds.
void
seek ( to_position: float
)
Restarts all sounds to be played from the given to_position
, in seconds. Does nothing if no sounds are playing.
void
stop ( )
Stops all sounds from this node.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。