转到下一帧时停止声音 - Adob​​e Animate/AS3

Stopping sound when going to next frame- Adobe Animate/AS3

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

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

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

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

然后在下一个按钮函数中简单地分配一个soundChannel.stop()

第 1 帧:

//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.

下一帧和这一帧基本一样,不管跳到哪一帧来回,只要保持这个格式就可以了。还有其他优化需要完成,比如只在音频完全加载后播放,但我会把它们留给你去发现和探索。祝你好运。