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.
Checking the stable version of the documentation...
AudioStreamPlayer
用於音訊播放的節點。
說明
AudioStreamPlayer 節點可播放非定位的音訊,適合用於 UI、選單或背景音樂。
使用時請先將 stream 設為有效的 AudioStream 資源。本節點也支援同時播放多段音訊,詳見 max_polyphony。
若需在特定位置播放,請改用 AudioStreamPlayer2D 或 AudioStreamPlayer3D。
教學
屬性
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
方法
void |
|
void |
|
void |
stop() |
訊號
finished() 🔗
當音效自然播放完畢且未被打斷時發出。呼叫 stop() 或離開場景樹時不會觸發。
列舉
enum MixTarget: 🔗
MixTarget MIX_TARGET_STEREO = 0
音訊僅會在第一個聲道播放(預設值)。
MixTarget MIX_TARGET_SURROUND = 1
音訊將在所有環繞聲聲道播放。
MixTarget MIX_TARGET_CENTER = 2
音訊將在第二個聲道(通常為中央聲道)播放。
屬性說明
若為 true,該節點進入場景樹時會自動呼叫 play()。
StringName bus = &"Master" 🔗
void set_bus(value: StringName)
StringName get_bus()
目標匯流排名稱。此節點的所有音效將於該匯流排播放。
注意: 執行時若找不到同名匯流排,將退回至 "Master"。另見 AudioServer.get_bus_name()。
此節點可同時播放的最大音效數量。達上限後再次呼叫 play() 會截斷最早播放的音效。
混音目標聲道。若僅偵測到兩個或更少揚聲器時無效(參見 SpeakerMode)。
音訊的音高與節奏倍率,相對於 stream 的取樣率。2.0 代表音高變兩倍,0.5 則為一半。
PlaybackType playback_type = 0 🔗
void set_playback_type(value: PlaybackType)
PlaybackType get_playback_type()
實驗性: 此屬性可能在未來版本中變更或移除。
串流播放器的播放型態。若設定為非預設值,將強制使用該型態。
若為 true,此節點正在播放音效。設定此屬性與呼叫 play() 或 stop() 效果相同。
AudioStream stream 🔗
void set_stream(value: AudioStream)
AudioStream get_stream()
要播放的 AudioStream 資源。設定時會停止目前所有正在播放的音效。若留空,此 AudioStreamPlayer 將無法運作。
若為 true,音效將暫停。將 stream_paused 設為 false 可恢復播放。
注意: 離開/進入場景樹或節點被暫停(見 Node.process_mode)時,此屬性會自動變更。
音量(dB),為 stream 音量的偏移量。
注意: 若需在分貝與線性能量間轉換,可使用 volume_linear,或 @GlobalScope.db_to_linear() / @GlobalScope.linear_to_db()。
音量(線性值)。
注意: 此屬性便於操作,會同步修改 volume_db。回傳值等同於對 volume_db 執行 @GlobalScope.db_to_linear() 的結果;設定此屬性亦等同於將 volume_db 設為對應值的 @GlobalScope.linear_to_db() 結果。
方法說明
float get_playback_position() 🔗
回傳最近一次播放音效在 AudioStream 中的位置(秒)。若目前無任何音效播放則回傳 0.0。
注意: 由於 AudioServer 並非每個處理影格都進行混音,該位置不一定精確。若需更精準,請將 AudioServer.get_time_since_last_mix() 加到回傳值上。
注意: 若 stream 為 AudioStreamInteractive(可能同時播放多段片段),本方法恒回傳 0.0。
AudioStreamPlayback get_stream_playback() 🔗
回傳此節點最新產生的 AudioStreamPlayback(通常由 play() 建立)。若無音效播放則回傳空播放實例。
若有任何音效處於活動狀態則回傳 true,即使 stream_paused 為 true。另見 playing 與 get_stream_playback()。
void play(from_position: float = 0.0) 🔗
從開頭或指定的 from_position(秒)開始播放音效。
void seek(to_position: float) 🔗
將所有正在播放的音效重新定位至 to_position(秒)並繼續播放;若無音效播放則不動作。
void stop() 🔗
停止此節點的所有音效。