フラッシュ インターフェイス ファイルがあり、プリローダーを使用して外部 SWFS をロードしようとしています。私の問題は、swf を再生しようとする前にプリローダーが 100% に達しないことです。プリローダーが表示され、パーセンテージまでカウントされて消えます。次に、ロードが完了するまで、最初のフレームで数秒間 (10 秒以上かかることもあります!)、swf がハングします。それは最終的に再生を開始します。ローダーが到達するパーセンテージは完全にランダムです。ある時は 40% に達し、次は 7% しかないかもしれません。
「visloader」と呼ばれるステージ上の空のmovieClipに外部swfsをロードしています。
ここに私のローダーコードがあります:
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」はステージ上のムービークリップで、回転する円と「loadPct」というテキスト フィールドがあります。
ロードされている外部 SWFS はかなり大きいです。5 MB を超えるものもあります。それが重要かどうかはわかりません。ファイルがわずかに小さい別のクライアントにまったく同じプリローダーを使用しましたが、問題はありませんでした。私は完全に途方に暮れています。
これは以前に尋ねられたことはないと思います。フォーラムを検索しましたが、何も思いつきませんでした。うまくいけば、ここにいる誰かが私が話していることを知っているでしょう.
前もって感謝します!