我有一个闪存接口文件,我正在尝试使用预加载器加载外部 swf。我的问题是预加载器在尝试播放 swf 之前从未达到 100%。预加载器将显示、计数到一个百分比并消失。然后 swf 在完成加载时仅在第一帧上挂起几秒钟(有时超过 10 秒!)。它最终会开始播放。加载程序达到的百分比是完全随机的。一次可能达到 40%,下一次只有 7%。
我正在将外部 swfs 加载到舞台上名为“visloader”的空movieClip 中。
这是我的加载程序代码:
loader= new SWFLoader("nameOfSlide.swf", {container:visloader, autoPlay:false, onProgress:progressHandler, onComplete:completeHandler});
loader.load();
这是我的进度和完整功能:
//--------------PROGRESS HANDLER----------------------------------------------------------------
function progressHandler(e:Event):void{
//set alpha of loading animation to 1 so it is visible
progClip.alpha = 1;
progClip.loadPct.text = "" + Math.floor((loader.bytesLoaded/loader.bytesTotal)*100) + "%";
}
//--------------COMPLETE HANDLER-----------------------------------------------------------------
function completeHandler(e:Event):void{
//hide the preloader animation
progClip.alpha = 0;
//myClip was created in the variables section above to hold the loaded swf
//must use 'rawContent' to get control over the swf (play/pause, etc...)
myClip = e.target.rawContent;
myClip.play();
}
“progClip”是舞台上的一个movieClip,带有一个旋转的圆圈和一个名为“loadPct”的文本字段。
正在加载的外部 swf 非常大。有些超过 5 MB。不确定这是否重要。我已经为文件稍小的不同客户端使用了完全相同的预加载器,并且没有任何问题。我完全不知所措。
我认为以前没有人问过这个问题。我搜索了论坛并没有想出任何东西。希望这里有人知道我在说什么。
提前致谢!