停止声音而不停止bgm as3

时间:2011-12-25 14:34:52

标签: actionscript-3 audio

flash pro。为3.0。
动画 。
几乎没有代码,除了场景的结尾:

import flash.media.SoundMixer;
if(SoundMixer.areSoundsInaccessible() == false)
{
    SoundMixer.stopAll();
}
else
{
  trace("There are inaccessible sounds.");
}

并在动画结束时显示重播按钮的代码。

所以......我得到了这个场景,有了这个特定的bgm,单独的帧层。
和另一层的声音。我想要的是在不停止bgm的情况下停止声音。
(是的,我知道上面的代码不起作用,因为它会停止所有声音)

1 个答案:

答案 0 :(得分:0)

在我看来,在时间线中控制声音的更好方法是:

1)在flash项目库中右键单击你的声音并选择“Properties ...”上下文菜单项 - >

打开“声音属性”窗口 - >

转到“ActionScript”标签 - >

启用“导出for ActionScript” - >

在“Class”文本输入中输入一些类名(例如“MySound1”) - >

点击“确定”

现在,您可以从ActionScript中获得声音

2)从时间线中删除声音

3)当你需要开始播放这个声音时使用代码

var mySound:Sound = new MySound1();
var mySoundChannel:SoundChannel = mySound.play(0);

其中MySound1是您在“声音属性”窗口中设置的类名。

当您需要停止声音使用代码时

mySoundChannel.stop();

使用这种方式,您可以在不改变其他声音的情况下启动/停止任何声音。