如何删除声音

时间:2013-06-02 03:27:31

标签: actionscript-3 audio

嘿,伙计们,所以我无法弄清楚这一点。我想从一个类中删除一个声音。所以我有一个开始屏幕,当你按下“Play Game”时,它会带你进入游戏,但是开始屏幕音乐一直在播放。香港专业教育学院尝试使用混音器删除所有有效的声音但它会删除游戏中的所有声音,即使是主要的游戏音乐所以我只是删除这个类中添加的单个声音:

public class mcStartGameScreen extends MovieClip 
{
    private var sndmainSong:Sound;
    public var mcStart:MovieClip;

    public function mcStartGameScreen() 
    {
        mcStart.buttonMode = true;
        mcStart.addEventListener(TouchEvent.TOUCH_TAP, startOnTouch, false, 0, true)
        //To completely end game when back button pushed on android
        NativeApplication.nativeApplication.addEventListener( KeyboardEvent.KEY_DOWN, handleKeyDown, false, 0, true);



        //create sound object from main song in library
        sndmainSong = new DST10Class();
        sndmainSong.play();
    }

现在我想通过mcStart事件监听器函数删除声音:

private function startOnTouch(e:TouchEvent):void 
    {
        dispatchEvent(new Event("START_GAME"));


             //Tried null but didnt work either
           //DST10Class = null;

    }

他们可以轻松地完成这个任务吗?任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:1)

获取播放声音的处理程序,然后在需要停止时调用stop()

var mainChannel:SoundChannel;
sndmainSong = new DST10Class();
mainChannel=sndmainSong.play();

然后,要停止它,请拨打mainChannel.stop(),您的声音就会停止。要再次播放,您需要通过SoundChannel创建另一个sndmainSong.play()对象。