Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AudioStream

繼承: Resource < RefCounted < Object

被繼承: AudioStreamGenerator, AudioStreamInteractive, AudioStreamMicrophone, AudioStreamMP3, AudioStreamOggVorbis, AudioStreamPlaylist, AudioStreamPolyphonic, AudioStreamRandomizer, AudioStreamSynchronized, AudioStreamWAV

音訊流的基底類別。

說明

Base class for audio streams. Audio streams are used for sound effects and music playback, and support WAV (via AudioStreamWAV), Ogg (via AudioStreamOggVorbis), and MP3 (via AudioStreamMP3) file formats.

教學

方法

int

_get_bar_beats() virtual const

int

_get_beat_count() virtual const

float

_get_bpm() virtual const

float

_get_length() virtual const

Array[Dictionary]

_get_parameter_list() virtual const

String

_get_stream_name() virtual const

Dictionary

_get_tags() virtual const

bool

_has_loop() virtual const

AudioStreamPlayback

_instantiate_playback() virtual required const

bool

_is_monophonic() virtual const

bool

can_be_sampled() const

AudioSample

generate_sample() const

float

get_length() const

AudioStreamPlayback

instantiate_playback()

bool

is_meta_stream() const

bool

is_monophonic() const


訊號

parameter_list_changed() 🔗

當參數清單變更時發出此訊號。


方法說明

int _get_bar_beats() virtual const 🔗

覆寫此方法以返回此串流的小節拍數。


int _get_beat_count() virtual const 🔗

可覆寫的方法,應返回此音訊串流的總拍數,供引擎計算各拍位置。

理想情況下,該值應以串流的取樣率(如 AudioStreamWAV.mix_rate)為基礎計算。


float _get_bpm() virtual const 🔗

可覆寫的方法,應返回此音訊串流的速度 (BPM),供引擎計算各拍位置。

理想情況下,該值應以串流的取樣率(如 AudioStreamWAV.mix_rate)為基礎計算。


float _get_length() virtual const 🔗

覆寫此方法以自訂 get_length() 的返回值;應返回此音訊串流的長度(秒)。


Array[Dictionary] _get_parameter_list() virtual const 🔗

傳回此串流可控制的參數。此陣列包含採用屬性資訊描述格式的字典(參見 Object.get_property_list())。此外,必須在每個字典的 「default_value」欄位中加入該參數的預設值。


String _get_stream_name() virtual const 🔗

重寫此方法以自訂此音訊流所使用的名稱(引擎本身不會使用)。


Dictionary _get_tags() virtual const 🔗

重寫此方法以自訂此音訊流的標籤。應回傳一個以標籤為鍵、內容為值的 Dictionary 字串字典。

常見的標籤包含 titleartistalbumtracknumberdate


bool _has_loop() virtual const 🔗

重寫此方法,若此串流具有循環則回傳 true


AudioStreamPlayback _instantiate_playback() virtual required const 🔗

重寫此方法以自訂 instantiate_playback() 的回傳值。應建立並回傳一個於串流被播放時產生的新 AudioStreamPlayback(例如由 AudioStreamPlayer 觸發)。


bool _is_monophonic() virtual const 🔗

重寫此方法以自訂 is_monophonic() 的回傳值。若此音訊流僅支援單聲道,應回傳 true


bool can_be_sampled() const 🔗

實驗性: 此方法可能在未來版本中變更或移除。

回傳目前的 AudioStream 是否可用作取樣。僅靜態串流可被取樣。


AudioSample generate_sample() const 🔗

實驗性: 此方法可能在未來版本中變更或移除。

依據目前的串流產生一個新的 AudioSample


float get_length() const 🔗

Returns the length of the audio stream in seconds. If this stream is an AudioStreamRandomizer, returns the length of the last played stream. If this stream has an indefinite length (such as for AudioStreamGenerator and AudioStreamMicrophone), returns 0.0.


AudioStreamPlayback instantiate_playback() 🔗

傳回一個新建立的 AudioStreamPlayback,用於播放此音訊流。當你想覆寫 _instantiate_playback(),但需要從內部持有的 AudioStream 子資源呼叫 instantiate_playback() 時特別有用。範例可參考 AudioStreamRandomPitch::instantiate_playback 的原始程式碼。


bool is_meta_stream() const 🔗

若此串流是其他串流的集合則回傳 true,否則回傳 false


bool is_monophonic() const 🔗

若此音訊流僅支援單聲道(monophony)則回傳 true;若支援兩個以上聲道(polyphony)則回傳 false