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...
AudioStreamPlayback
繼承: RefCounted < Object
被繼承: AudioStreamPlaybackInteractive, AudioStreamPlaybackPlaylist, AudioStreamPlaybackPolyphonic, AudioStreamPlaybackResampled, AudioStreamPlaybackSynchronized
用於播放音訊的元類。
說明
可播放、循環及暫停音訊。使用方式請參閱 AudioStream 與 AudioStreamOggVorbis。
教學
方法
_get_loop_count() virtual const |
|
_get_parameter(name: StringName) virtual const |
|
_get_playback_position() virtual required const |
|
_is_playing() virtual required const |
|
_mix(buffer: |
|
void |
|
void |
_set_parameter(name: StringName, value: Variant) virtual |
void |
|
void |
_stop() virtual required |
void |
_tag_used_streams() virtual |
get_loop_count() const |
|
get_playback_position() const |
|
get_sample_playback() const |
|
is_playing() const |
|
void |
|
void |
set_sample_playback(playback_sample: AudioSamplePlayback) |
void |
|
void |
stop() |
方法說明
int _get_loop_count() virtual const 🔗
可覆寫的方法。應回傳此音訊流已循環的次數。大多數內建播放通常回傳 0。
Variant _get_parameter(name: StringName) virtual const 🔗
依名稱回傳播放參數的目前值(參見 AudioStream._get_parameter_list())。
float _get_playback_position() virtual required const 🔗
可覆寫的方法。應回傳音訊流目前的播放進度(秒)。
bool _is_playing() virtual required const 🔗
可覆寫的方法。若此播放實例處於啟動並正在播放音訊流時,應回傳 true。
int _mix(buffer: AudioFrame*, rate_scale: float, frames: int) virtual required 🔗
重寫此方法以自訂混音行為,即便播放未啟動也會呼叫。
注意: 在 GDScript 或 C# 中覆寫此方法並無實際用途;僅 GDExtension 可以利用。
void _seek(position: float) virtual 🔗
重寫此方法以自訂在尋位至指定 position 時的行為,例如由 AudioStreamPlayer.seek() 觸發。
void _set_parameter(name: StringName, value: Variant) virtual 🔗
依名稱設定播放參數的目前值(參見 AudioStream._get_parameter_list())。
void _start(from_pos: float) virtual required 🔗
重寫此方法以自訂播放自指定位置開始(例如呼叫 AudioStreamPlayer.play())時的行為。
void _stop() virtual required 🔗
重寫此方法以自訂停止播放(例如呼叫 AudioStreamPlayer.stop())時的行為。
void _tag_used_streams() virtual 🔗
可覆寫的方法。當播放啟動且 AudioServer.set_enable_tagging_used_audio_streams() 為 true 時,每次混音都會呼叫。編輯器外掛可透過此方法標記音訊流當前位置並於預覽中顯示。
回傳此串流已循環的次數。
float get_playback_position() const 🔗
回傳串流目前的位置(秒)。
AudioSamplePlayback get_sample_playback() const 🔗
實驗性: 此方法可能在未來版本中變更或移除。
回傳與此 AudioStreamPlayback 關聯、用於播放此串流取樣的 AudioSamplePlayback。
若串流正在播放則回傳 true。
PackedVector2Array mix_audio(rate_scale: float, frames: int) 🔗
自目前位置起,依 rate_scale 速度混音最多 frames 個影格並推進串流。
回傳的 PackedVector2Array 中,每個元素包含該影格左右聲道的音量。
注意: 實際回傳的影格數可能少於要求值,請使用回傳陣列的長度做後續處理。
void seek(time: float = 0.0) 🔗
將串流尋位至指定 time(秒)。
void set_sample_playback(playback_sample: AudioSamplePlayback) 🔗
實驗性: 此方法可能在未來版本中變更或移除。
將 AudioSamplePlayback 關聯到此 AudioStreamPlayback 以播放該串流的取樣。
void start(from_pos: float = 0.0) 🔗
自指定的 from_pos(秒)開始播放串流。
void stop() 🔗
停止串流播放。