只关闭声音 - 如何?

时间:2011-10-23 17:04:25

标签: actionscript-3 audio volume

我有这个问题:

如何仅在游戏中关闭声音?我问,因为我的设置中有两个按钮:打开/关闭音乐和打开/关闭声音。打开和关闭音乐非常简单,因为它使用特定的声道。但是你如何仅关闭音量音量(例如音乐仍在播放而不是游戏的声音)?

当我通过SoundMixer.soundtransform静音时你听不到任何声音,所以这不是我想要的。在我的游戏中,所有声音都被抛入阵列。我的第一个想法是,我通过阵列中列出的所有声音并关闭音量,但这不起作用。请 - 有人可以帮忙吗?非常感谢你。

//not working

private var sounds:Array;
private var soundChannels:Array = [];
private var muteSoundTransform:SoundTransform = new SoundTransform();

public function muteSoundOnly():void {

muteSoundTransform.volume = 0;

var soundLength:int = soundChannels.length - 1;
for (var soundCtr:int = soundLength; soundCtr >= 0; soundCtr--)
{

soundChannels[soundCtr].soundTransform = muteSoundTransform;

}

}

1 个答案:

答案 0 :(得分:0)

我认为这样做更容易:

var soundsON = true;

然后在播放任何音效之前,请确保声音为ON,如下所示:

if (soundsON) {
 mySound.play();
}

如果您使用静音按钮soundsON = false;,则不会播放您的声音效果。