Actionscript 3 如何在Actionscript 3的下一帧停止音乐功能?

Actionscript 3 如何在Actionscript 3的下一帧停止音乐功能?,actionscript-3,flash,Actionscript 3,Flash,我有在一帧上启动音乐的代码,但我希望在另一帧上停止它 我的第一行代码位于第1帧,其中找到了我的预加载程序: addEventListener(Event.ENTER_FRAME,menumusic); 第二帧是我的脚本的主菜单,它播放音乐。 音乐是位于库中的声音文件 function menumusic(e:Event){ var sound_mmusic:mmusic = new mmusic(); var Playing:Boolean = true; if(Pla

我有在一帧上启动音乐的代码,但我希望在另一帧上停止它

我的第一行代码位于第1帧,其中找到了我的预加载程序:

addEventListener(Event.ENTER_FRAME,menumusic);
第二帧是我的脚本的主菜单,它播放音乐。 音乐是位于库中的声音文件

function menumusic(e:Event){
    var sound_mmusic:mmusic = new mmusic();
    var Playing:Boolean = true;
    if(Playing==true){
        trace('playing');
    sound_mmusic.play();
    }
    removeEventListener(Event.ENTER_FRAME,menumusic);
}
我似乎无法让它停在第三帧。无论我尝试什么,它要么什么也不做,要么显示一个错误,说
stop不是一个函数

这是导致第3帧的代码:

button_play.addEventListener(MouseEvent.CLICK, clickHandler);
function clickHandler(e:MouseEvent):void
{
    switch(e.target)
    {
        case button_play:       
        gotoAndStop('game');
        break;
    }
}
调用
Sound
对象的方法时,它将返回
SoundChannel
。您可以使用
SoundChannel
对象停止播放:

var soundChannel:SoundChannel;

function menumusic(e:Event){
    var sound_mmusic:mmusic = new mmusic();
    var Playing:Boolean = true;
    if(Playing==true){
        trace('playing');
        // keep a reference to the soundChannel so we can stop it as needed
        soundChannel = sound_mmusic.play();
    }
    removeEventListener(Event.ENTER_FRAME,menumusic);
}

function clickHandler(e:MouseEvent):void
{
    switch(e.target)
    {
        case button_play:
        soundChannel.stop();       
        gotoAndStop('game');
        break;
    }
}