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.

AudioStreamMP3

繼承: AudioStream < Resource < RefCounted < Object

MP3 音訊串流驅動程式。

說明

MP3 audio stream driver. See data if you want to load an MP3 file at run-time. More info can be found in ResourceImporterMP3.

Note: This class can optionally support legacy MP1 and MP2 formats, provided that the engine is compiled with the minimp3_extra_formats=yes SCons option. These extra formats are not enabled by default.

教學

屬性

int

bar_beats

4

int

beat_count

0

float

bpm

0.0

PackedByteArray

data

PackedByteArray()

bool

loop

false

float

loop_offset

0.0

方法

AudioStreamMP3

load_from_buffer(stream_data: PackedByteArray) static

AudioStreamMP3

load_from_file(path: String) static


屬性說明

int bar_beats = 4 🔗

  • void set_bar_beats(value: int)

  • int get_bar_beats()

The number of beats within a single bar in the audio track.


int beat_count = 0 🔗

  • void set_beat_count(value: int)

  • int get_beat_count()

The length of the audio track, in beats. The actual duration of the audio file might be longer than what is indicated by this property. It defines the end of the audio for looping, AudioStreamPlaylist, and AudioStreamInteractive.


float bpm = 0.0 🔗

The tempo of the audio track, measured in beats per minute.


PackedByteArray data = PackedByteArray() 🔗

包含以位元組為單位的音訊資料。

你可以使用下列程式碼片段在執行時載入檔案,而無須事先匯入。請注意,此程式碼會將整個檔案一次載入至記憶體,對於超大檔案(數百 MB 以上)並不合適。

func load_mp3(path):
    var file = FileAccess.open(path, FileAccess.READ)
    var sound = AudioStreamMP3.new()
    sound.data = file.get_buffer(file.get_length())
    return sound

Note: The returned array is copied and any changes to it will not update the original property value. See PackedByteArray for more details.


bool loop = false 🔗

  • void set_loop(value: bool)

  • bool has_loop()

If true, the stream will play again from the specified loop_offset once it reaches the end of the audio track, or once it reaches the end of the last beat according to the amount specified in beat_count. Useful for ambient sounds and background music.


float loop_offset = 0.0 🔗

  • void set_loop_offset(value: float)

  • float get_loop_offset()

迴圈後串流重新開始的時間(秒)。


方法說明

AudioStreamMP3 load_from_buffer(stream_data: PackedByteArray) static 🔗

從給定的緩衝區建立新的 AudioStreamMP3 實例。該緩衝區必須包含 MP3 資料。


AudioStreamMP3 load_from_file(path: String) static 🔗

從給定的檔案路徑建立新的 AudioStreamMP3 實例。該檔案必須為 MP3 格式。