音频播放结束

每当使用 audio_play_sound_ 函数播放的声音实例播放结束时,都会触发此事件。

播放声音在以下情况下结束:

对于游戏中播放的任何声音(即使它不是由同一对象播放的),该事件将在所有具有该事件的对象中触发。

该事件在 async_load ds_map 中返回信息。如果发生音频播放已结束事件:

注意 暂停声音不会结束播放,因为之后仍可以继续播放。

范例

假设您使用以下任何 audio_play_sound_ 函数播放声音:

ins_snd_bgm = audio_play_sound(snd_music, 100, false);

如果您没有其他声音函数在这个声音上,它会播放到最后。此时音频播放已结束为声音触发事件。async_load 在这种情况下,ds_map 将包含以下值:

如果您在声音结束前将其停止,则也会触发音频播放结束事件。这可以使用以下任何代码行来完成:

// Stop the sound instance
audio_stop_sound(ins_snd_bgm);

// Stop all instances of the sound asset
audio_stop_sound(snd_relaxed);

// Stop all sounds that are playing
audio_stop_all();

在本例中,声音是通过调用一个 audio_stop_ 函数来停止的,因此不是 false,而是 "was_stopped" 在这里将是 true

最后,如果您在播放此声音时开始播放优先级更高的其他声音,这些声音也会占用一个频道(或声音)。如果没有剩余的空闲频道,则可能会强制停止 ins_snd_bgm,并触发音频播放结束事件。在本例中,"was_stopped" 也设置为 true