转到下一帧时停止声音 - Adobe 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.
下一帧和这一帧基本一样,不管跳到哪一帧来回,只要保持这个格式就可以了。还有其他优化需要完成,比如只在音频完全加载后播放,但我会把它们留给你去发现和探索。祝你好运。
我有三个帧,每个帧中都有自己的动画影片剪辑。 要进入下一个场景,您可以在当前场景上按一个按钮,它会转到第二帧。
我在三个影片剪辑中都有音频,但是当我单击按钮转到场景 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.
下一帧和这一帧基本一样,不管跳到哪一帧来回,只要保持这个格式就可以了。还有其他优化需要完成,比如只在音频完全加载后播放,但我会把它们留给你去发现和探索。祝你好运。