AudioStreamWAV
继承: AudioStream < Resource < RefCounted < Object
存储从 WAV 文件加载的音频数据。
描述
AudioStreamWAV 存储从 WAV 文件加载的声音样本。要播放存储的声音,请使用 AudioStreamPlayer(用于非空间定位音频)或 AudioStreamPlayer2D/AudioStreamPlayer3D(用于空间定位音频)。声音可以循环播放。
这个类还可用于存储动态生成的 PCM 音频数据。另请参阅 AudioStreamGenerator 以了解程序化音频生成。
教程
属性
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
save_to_wav(path: String) |
枚举
enum Format: 🔗
Format FORMAT_8_BITS = 0
8 位音频编解码器。
Format FORMAT_16_BITS = 1
16 位音频编解码器。
Format FORMAT_IMA_ADPCM = 2
音频使用 IMA ADPCM 进行压缩。
Format FORMAT_QOA = 3
音频按照 QOA 进行压缩(Quite OK Audio)。
enum LoopMode: 🔗
LoopMode LOOP_DISABLED = 0
音频不循环。
LoopMode LOOP_FORWARD = 1
音频在 loop_begin 和 loop_end 之间循环数据,仅向前播放。
LoopMode LOOP_PINGPONG = 2
音频在 loop_begin 和 loop_end 之间循环数据,来回播放。
LoopMode LOOP_BACKWARD = 3
音频在 loop_begin 和 loop_end 之间循环数据,仅向后播放。
属性说明
PackedByteArray data = PackedByteArray()
🔗
void set_data(value: PackedByteArray)
PackedByteArray get_data()
包含以字节为单位的音频数据。
注意:此属性需要有符号的 PCM8 数据。要将无符号的 PCM8 转换为有符号的 PCM8,需要从每个字节中减去 128。
Note: The returned array is copied and any changes to it will not update the original property value. See PackedByteArray for more details.
音频格式。取值见 Format 常量。
The loop start point (in number of samples, relative to the beginning of the stream). This information will be imported automatically from the WAV file if present.
The loop end point (in number of samples, relative to the beginning of the stream). This information will be imported automatically from the WAV file if present.
循环模式。如果 WAV 文件中存在此信息,则将自动导入。取值请参阅 LoopMode 常量。
混合这个音频的采样率。更高的数值需要更多的存储空间,但会带来更好的质量。
在游戏中,常用的采样率有 11025
、16000
、22050
、32000
、44100
、48000
。
根据奈奎斯特–香农采样定理,当超过 40000 赫兹时,人类的听觉没有质量上的差别(因为大多数人只能听到 ~20000 赫兹,往往更少)。如果你要使用语音等音高较低的声音,则可以使用 32000
或 22050
等较低的采样率,不会降低质量。
如果为 true
,则音频为立体声。
方法说明
Error save_to_wav(path: String) 🔗
将 AudioStreamWAV 作为 WAV 文件保存到 path
。无法保存 IMA ADPCM 或 QOA 格式的样本。
注意:如果缺少 .wav
扩展名,则会自动将其追加到 path
。