Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

AudioStreamPlayer

继承: Node < Object

播放音频,不考虑所处位置。

描述

以非位置方式支持播放音频流。

要在位置上播放音频,请使用 AudioStreamPlayer2DAudioStreamPlayer3D 而不是 AudioStreamPlayer

教程

属性

bool

autoplay

false

StringName

bus

&"Master"

int

max_polyphony

1

MixTarget

mix_target

0

float

pitch_scale

1.0

bool

playing

false

AudioStream

stream

bool

stream_paused

false

float

volume_db

0.0

方法

float

get_playback_position ( )

AudioStreamPlayback

get_stream_playback ( )

bool

has_stream_playback ( )

void

play ( float from_position=0.0 )

void

seek ( float to_position )

void

stop ( )


信号

finished ( )

当音频停止播放时发出。


枚举

enum MixTarget:

MixTarget MIX_TARGET_STEREO = 0

音频将只在第一个声道中播放。

MixTarget MIX_TARGET_SURROUND = 1

音频将在所有环绕声声道中播放。

MixTarget MIX_TARGET_CENTER = 2

音频将在第二个声道中播放,通常位于中央。


属性说明

bool autoplay = false

  • void set_autoplay ( bool value )

  • bool is_autoplay_enabled ( )

如果为 true,在添加到场景树时将播放音频。


StringName bus = &"Master"

这个音频在哪个总线上播放。

注意:设置这个属性时,请记住它并不会对给定的名称是否与现有总线匹配进行校验。这是因为音频总线布局可以在设置这个属性后再加载。如果这个给定的名称在运行时无法解析,就会回退到 "Master"


int max_polyphony = 1

  • void set_max_polyphony ( int value )

  • int get_max_polyphony ( )

该节点可以同时播放的最大声音数。达到此值后,播放额外的声音将切断最旧的声音。


MixTarget mix_target = 0

如果音频配置有两个以上的扬声器,则设置目标通道。见 MixTarget 常量。


float pitch_scale = 1.0

  • void set_pitch_scale ( float value )

  • float get_pitch_scale ( )

音频的音高和节奏,作为音频样本的采样率的倍数。


bool playing = false

  • bool is_playing ( )

如果为 true,则播放音频。


AudioStream stream

要播放的 AudioStream 对象。


bool stream_paused = false

  • void set_stream_paused ( bool value )

  • bool get_stream_paused ( )

如果为 true,则播放会暂停。你可以通过将 stream_paused 设置为 false来恢复它。


float volume_db = 0.0

  • void set_volume_db ( float value )

  • float get_volume_db ( )

音量,单位为 dB。


方法说明

float get_playback_position ( )

返回 AudioStream 中的位置,单位为秒。


AudioStreamPlayback get_stream_playback ( )

返回与此 AudioStreamPlayer 关联的 AudioStreamPlayback 对象。


bool has_stream_playback ( )

返回该 AudioStreamPlayer 是否能够返回 AudioStreamPlayback 对象。


void play ( float from_position=0.0 )

从给定的位置 from_position 播放音频,以秒为单位。


void seek ( float to_position )

设置音频的播放位置,以秒为单位。


void stop ( )

停止音频。