AS3在不同场景下播放不同的声音

时间:2014-10-15 14:13:30

标签: actionscript-3 flash audio actionscript

我有一个带有2个场景的.fla文件,在第一个场景中,我在后面播放了一首歌曲,只要用户按下按钮(btnP)就停止播放。该按钮将用户带到另一个场景(Scene2)。

第一个场景正常,当程序进入另一个场景时,音乐停止。但是,我想在Scene2上有不同的声音。如果我尝试在Scene2上使用相同的技术,没有什么好开心的。我的声音文件都导入到库中。

继承我的Scene1代码(这有效)。

import flash.media.Sound;
import flash.media.SoundMixer;
stop();

btnP.addEventListener(MouseEvent.CLICK, petterVelg);

var snd:Sound =
new Sound(new URLRequest("lifted.mp3"));

snd.play();



function petterVelg(e:MouseEvent){

    gotoAndPlay(1, "Scene 2");
    SoundMixer.stopAll();

} 

这是场景2的代码(这根本不播放任何音频......)

import flash.media.Sound;
var snd2:Sound = new Sound(new URLRequest("drikke.mp3"));
snd2.play();

1 个答案:

答案 0 :(得分:0)

您应该使用SoundChannel类:

stop();

var snd:Sound = new Sound(new URLRequest("lifted.mp3"));
var piste1:SoundChannel = new SoundChannel();
piste1 = snd.play();

btnP.addEventListener(MouseEvent.CLICK, petterVelg);

function petterVelg(e:MouseEvent):void
{
    gotoAndStop(1, "Scene 2");
    piste1.stop();
}