在AS3中永久停止所有声音

时间:2010-03-30 11:26:54

标签: flash actionscript-3

我有一个主SWF,它有声音开/关按钮。它有许多SWF,它们在不同的时间加载到不同的占位符中。所有这些都有不同的声音。除此之外,背景中还有一个音乐循环。

现在,这个特殊的swf让我们称之为父亲将在稍后放入某个swf。我现在要做的是当按下声音关闭按钮时永久关闭所有声音,这样孩子的swf和他们的声音也会停止。

我在AS2找到了一种方法:

global = new Sound( ) //no movie clip target path.

and add the following code to your off button.

on(release){
global.setVolume(0); //mutes all sound
}

and for on button

(释放){        global.setVolume(100); //取消所有声音    }

哪个课程对AS3不起作用。那么如何在AS3中永久停止所有声音?其次如果我有一个声音(我的背景循环),我想继续下去。

会有很多帮助,现在没有适当的答案就找了一段时间。

3 个答案:

答案 0 :(得分:3)

flash.media::SoundMixer.soundTransform完成您在AS2中所做的工作。

用法:

SoundMixer.soundTransform = new SoundTransform(0);
但请注意,这不会停止播放,只会使所有声音静音。

答案 1 :(得分:1)

table .bottom-cell {
  height: 20px;
}

table .top-cell {
  height: calc(100% - 40px);
}

这应该有效:)

答案 2 :(得分:0)

如果您使用的是AS3,那么您应该使用Sound(),SoundChannel()和SoundTransform(),如下所示:

urlReq = new URLRequest("location of audio file");
audio = new Sound(urlReq);
soundChannel = audio.play();

然后你可以调用childswfs soundChannel.stop()方法。

这应该会停止所有音频。

其次分配不同的声音来分隔soundChannels,这样你就可以静音并保持另一个声音。

希望有所帮助