AudioStreamGenerator

Inherits: AudioStream < Resource < Reference < Object

使用程序生成声音的音频流。

描述

此音频流不播放声音,需要脚本为其生成音频数据。参阅AudioStreamGeneratorPlayback

另请参阅 AudioEffectSpectrumAnalyzer 用于执行实时音频频谱分析。

注意: 由于性能限制,最好从 C# 或通过 GDNative 编译的语言中使用此类。如果你仍然想从GDScript中使用这个类,请考虑使用较低的 mix_rate,例如 11,025 Hz 或 22,050 Hz。

教程

属性

float

buffer_length

0.5

float

mix_rate

44100.0

属性说明

Default

0.5

Setter

set_buffer_length(value)

Getter

get_buffer_length()

要生成的缓冲区的长度,以秒为单位。较低的值会带来更少的延迟,但需要脚本更快地生成音频数据,从而导致 CPU 使用率增加,如果 CPU 跟不上,则音频破裂的风险更大。


Default

44100.0

Setter

set_mix_rate(value)

Getter

get_mix_rate()

使用的采样率(单位:Hz)。更高的值对CPU要求更高,但会带来更好的质量。

在游戏中,常用的采样率有110251600022050320004410048000

根据Nyquist-Shannon采样定理,当超过40000赫兹时,人类的听觉没有质量上的差别(因为大多数人只能听到~20000赫兹,往往更少)。如果你要生成较低音调的声音,例如语音,则可以使用较低的采样率,例如 3200022050,而不会降低质量。