loop sound actionscript Flash

时间:2012-06-13 20:48:42

标签: arrays flash audio loops

我想知道是否有人可以帮助我使用Flash中的动作。

当我点击按钮时,我想要一些不同的按钮并播放不同的声音循环,但是由于音乐旋律,每个循环必须在另一个循环完成时启动。有谁可以帮助我?

谢谢

特雷莎

2 个答案:

答案 0 :(得分:1)

通过在AS3中使用SoundChannel类,您可以获得addEventListener - Event.SOUND_COMPLETE,它将通知您声音完成,然后您可以播放下一个声音

答案 1 :(得分:0)

嗯,我假设您想播放与按下的最后一个按钮相关的声音,而不是一起播放很多声音。

因此,您有一个全局声音变量,您可以在按下按钮时更改

var sound:Sound=new Sound(new URLRequest("music.mp3"));
var soundChannel:SoundChannel=new SoundChannel();
soundChannel=sound.play();
soundChannel.addEventListener(Event.SOUND_COMPLETE,loop_Sound);
function loop_Sound(e:Event){
      soundChannel=sound.play();
      //I know you don't need to add the listener again to the sound channel 
      //but this is something i just do
      soundChannel.addEventListener(Event.SOUND_COMPLETE,loop_Sound); 
}
//call this function when the button is pressed
//you could name the button name as the sound file's name 
//and use e.currenttarget.name or something
function change_Sound(e:MouseEvent){
   sound=new Sound(new URLRequest("music2.mp3"));

}

这会在按下按钮时加载声音,但仅在当前声音播放完毕时才播放声音,如果在播放时未按下按钮,则会循环播放当前声音。祝你好运!