1

我有三个帧,每个帧都有自己的动画电影剪辑。要进入下一个场景,请在当前场景上按下一个按钮,然后它会转到第二帧。

我在三个电影剪辑中都有音频,但是当我单击按钮转到场景 2 时,场景 1 的音频会继续播放。

我怎样才能做到这一点,当我单击转到第二帧时,第一帧影片剪辑的音频停止,而第二帧影片剪辑音频开始?

4

1 回答 1

1

确保您有一个SoundChannel附加到您的Sound对象。

soundChannel.stop()然后只需在下一个按钮功能中分配一个。

第一帧:

//create a sound class to hold the sound
var f1sound:Sound = new Sound();
//soundchannel to control your sound to play and pause
var sChannel:SoundChannel = new SoundChannel();

//this setup function will load and autoplay your sound file
function setUp():void {
    f1sound.load(new URLRequest("frame1sound.mp3")); //load your sound file
    f1sound.play();

    //add the event for the Next Button, remember to change it to your actual button name
    nextButton.addEventListener(MouseEvent.MOUSE_DOWN, nextBtnDown);
}

function nextBtnDown():void {
    nextButton.removeEventListener(MouseEvent.MOUSE_DOWN, nextBtnDown);
    sChannel.stop(); //this stop the audio
    f1sound.close(); //this unloads the sound stream for cleaning purposes

    gotoAndStop(2); //go to frame 2, put this as the last line of the function
}

setUp();  //this will make the program run setUp function on the first run, once.

下一帧和这一帧基本是一样的,只要你保持这个格式不管你跳到哪一帧,来回跳,它应该可以工作的。还有其他优化需要完成,例如仅在完全加载后播放音频,但我会将它们留给您查找和探索。祝你好运。

于 2019-11-15T07:18:46.293 回答