为什么背景声音不断重复?

时间:2015-12-02 23:42:34

标签: actionscript-3 flash

我的项目中有一个背景音。但是当我点击按钮到其他场景时,声音会重复,更糟糕的是,它会与下一个场景中的声音重叠。我试图在整个项目中使用一首背景歌曲但是这个问题发生了。可以教我怎么样?

我正在使用Adobe Flash CS6。谢谢。

1 个答案:

答案 0 :(得分:1)

声音正在重复,因为默认情况下时间轴正在重复,您应该在actionscript中添加命令stop()。你没有提供任何源代码,所以我假设你没有任何源代码,在你的情况下,这是一个循环背景音乐的动作脚本中的示例程序。

import flash.events.MouseEvent;

stop();   //<-- make sure to stop timeline
var bgMusic:Sound = new BGMusic(); 
var bgChannel:SoundChannel = new SoundChannel();
bgChannel = bgMusic.play();
bgChannel.addEventListener(Event.SOUND_COMPLETE, loop);

startButton.addEventListener(MouseEvent.CLICK, startGame);

function startGame(e:MouseEvent):void {
    gotoAndStop(1, "Scene 2");    //<-- stop after clicking button
}

function loop(e:Event):void {
    bgChannel = bgMusic.play();
    bgChannel.addEventListener(Event.SOUND_COMPLETE, loop);
}