0
我需要连续播放三首音乐曲目。它不需要再次加载并且在缓存中。 我使用这段代码。一切工作正常localhost,但只适用于重新启动服务器上的应用程序。每次重新下载曲目都是错误的。如何在AS3中播放音乐曲目?
public function musicOn():void{
if (sndStart == 'true'){
req = new URLRequest("media/" + track + ".mp3");
snd.load(req);
channel = snd.play();
channel.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);
sndStart = 'false';
} else {
sndStart = 'true';
}
}
public function musicOff():void{
if (snd.length>0){
channel.stop();
snd = new Sound();
channel = new SoundChannel();
sndStart = 'true';
}
}
public function onPlaybackComplete(event:Event):void
{
if (track==3){
track = 1;
} else {
track++;
}
sndStart = 'true';
snd = new Sound();
musicOn();
}
我运行这些功能:
if (optObj.music == 'true' && sndStart == 'true'){
musicOn();
} else if (optObj.music == 'false'){
musicOff();
}
optObj.music - 这是当应用程序启动时,或者当我调用一个函数更改设置时调用的参数的对象。
谢谢weltraumpirat 但是同样的问题。如果我在刷新后调用函数musicOn(),则音乐不会第一次播放,而只会第二次播放。 – Astraport 2010-12-19 18:40:08
那么你必须有一些其他问题,在你的程序中的其他地方 - 我只是尝试在我的服务器上完全相同的脚本,并且它工作正常。也许这是按钮调用方法?或者你是否从上面的脚本中输入了if(sndStart =='true')?也许你忘了在程序启动时设置sndStart ='true'? – weltraumpirat 2010-12-19 18:51:50
是的,问题在别处。我使用单独的窗口设置,将参数传递给主应用程序。不知何故,它并不总是通过适当的选择。现在我会处理。再次感谢。 – Astraport 2010-12-19 19:05:13