此函数返回音频系统 (主总线) 是否在 HTML5 上初始化。对于 HTML5 以外的目标,此函数将始终返回 true。
在 HTML5 平台上,音频引擎可能在游戏开始时没有完成加载。在此之前,您不应执行以下任何操作:
注意 此函数不同于 audio_system_is_available,后者反映播放音频的能力,并且取决于 Web Audio 上下文的状态。 必须先初始化音频系统,然后才能使用它。
audio_system_is_initialised();
创建事件
// Initially, the audio system is not initialised
audio_initialised = false;
em_emitter = -1;
bus_special_effects = -1;
步事件
// Check until the system is initialised
if !audio_initialised && audio_system_is_initialised()
{
audio_initialised = true;
// First-time initialization
bus_special_effects = audio_bus_create();
bus_special_effects[0] = audio_effect_create(AudioEffectType.Reverb1);
em_emitter = audio_emitter_create();
audio_emitter_bus(em_emitter, bus_special_effects);
}
if (audio_initialised)
{
// The audio system can be used here
// ...
}
在游戏开始时,在对象的创建事件中,变量 audio_initialised 被设置为 false。在其步事件中,函数 audio_system_is_initialised 会被调用,只要 audio_initialised 保持 false。一旦函数返回 true,就会执行第一个 if 语句:audio_initialised 之后的内容被设置为 true,这将阻止对该函数的进一步调用,并设置一个定制音频总线和发射器。一旦 audio_initialised 为 true,则执行第二个 if 语句的代码,该代码可以与音频系统交互,例如改变效果参数。