AudioStreamSample
Inherits: AudioStream < Resource < Reference < Object
存储从WAV文件加载的音频数据。
描述
AudioStreamSample 存储从 WAV 文件加载的声音样本。要播放存储的声音,请使用 AudioStreamPlayer(用于非定位音频)或 AudioStreamPlayer2D/AudioStreamPlayer3D(用于定位音频)。声音可以循环播放。
此类还可用于存储动态生成的 PCM 音频数据。另请参阅 AudioStreamGenerator 以了解程序式音频生成。
属性
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
save_to_wav ( String path ) |
枚举
enum Format:
FORMAT_8_BITS = 0 —- 8位音频编解码器。
FORMAT_16_BITS = 1 —- 16位音频编解码器。
FORMAT_IMA_ADPCM = 2 —- 音频使用 IMA ADPCM 进行压缩。
enum LoopMode:
LOOP_DISABLED = 0 —- 音频不循环。
LOOP_FORWARD = 1 —- 音频循环播放 loop_begin 和 loop_end 之间的数据,只向前播放。
LOOP_PING_PONG = 2 —- 音频在 loop_begin 和 loop_end 之间循环数据,来回播放。
LOOP_BACKWARD = 3 —- 音频在 loop_begin 和 loop_end 之间循环数据,仅向后播放。
属性说明
- PoolByteArray data
Default |
|
Setter | set_data(value) |
Getter | get_data() |
包含以字节为单位的音频数据。
注意:此属性需要有符号的 PCM8数据。要将无符号的 PCM8转换为有符号的 PCM8,需要从每个字节中减去128。
- Format format
Default |
|
Setter | set_format(value) |
Getter | get_format() |
音频格式。参阅Format常量的值。
- int loop_begin
Default |
|
Setter | set_loop_begin(value) |
Getter | get_loop_begin() |
循环起始点(相对于样本开始的样本数)。如果存在此信息,将自动从 WAV 文件导入。
- int loop_end
Default |
|
Setter | set_loop_end(value) |
Getter | get_loop_end() |
循环结束点(相对于样本开始的样本数)。如果存在此信息,将自动从 WAV 文件导入。
- LoopMode loop_mode
Default |
|
Setter | set_loop_mode(value) |
Getter | get_loop_mode() |
循环模式。该信息将自动从WAV文件中导入(如果存在)。有关值,请参阅LoopMode常量。
- int mix_rate
Default |
|
Setter | set_mix_rate(value) |
Getter | get_mix_rate() |
混合这个音频的采样率。更高的数值需要更多的存储空间,但会带来更好的质量。
在游戏中,常用的采样率有11025
、16000
、22050
、32000
、44100
,以及48000
。
根据Nyquist-Shannon采样定理,当超过40000赫兹时,对于人的听觉没有质量上的差别(因为大多数人只能听到~20000赫兹,往往更少)。如果你使用低音调的声音,如语音,较低的采样率,如32000
或22050
可能是可用的,没有质量上的损失。
- bool stereo
Default |
|
Setter | set_stereo(value) |
Getter | is_stereo() |
如果true
,音频为立体声。
方法说明
将AudioStreamSample作为WAV文件保存到path
。无法保存IMA ADPCM格式的样本。
注意:如果缺少.wav
扩展名,则会自动将其附加到path
。