【发布时间】:2018-03-25 20:19:06
【问题描述】:
我需要依次播放三首音乐曲目。有必要不要再次加载它并且在缓存中。 我使用这个代码。在 localhost 上一切正常,但只有在服务器上重新启动应用程序后才能正常工作。而且每次都重新下载曲目是错误的。
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 - 当应用程序启动或调用函数更改设置时,它是具有参数的对象。
【问题讨论】:
标签: flash actionscript-3