我如何停止所有声音,除了一些声音?

时间:2013-11-09 04:33:36

标签: actionscript-3 flash audio

我正在为我的游戏创建一个选项菜单,其中有一个用于音效和音乐的静音按钮。当选中音乐静音按钮时,所有音乐都应在整个游戏中静音。检查声音效果的静音按钮时,应将所有声音效果静音。两者都可以检查,或者只能检查一个。如果检查一个,那么另一个应该工作。我知道我可以使用SoundMixer.stopAll()函数,但这不是我想要的。你能帮忙我如何构建这段代码吗?

1 个答案:

答案 0 :(得分:1)

您可以制作一个SoundManager类,用于处理在给定的SoundChannel上播放不同的音效/音乐,然后按照您的标准对这些SoundChannel进行分组。

对于您可以检查/设置的任何群组,此SoundManager也会具有静音状态。

您可以使用playSound方法检查静音状态,以确定它是否应该实际播放该声音/音乐。

所以基本概念是通过这个类触发所有音频。如果声音效果将静音状态更改为true,则会停止当前播放的所有声音效果。

您如何对音频进行分组取决于您。您可以将每种类型存储在数组中,因此如果打开静音,您可以遍历它以停止该类型的所有声音。