2009-08-13 6 views
0

サーバで実行してもテストムービーを実行すると、loaderInfo.bytesTotalがゼロになるのはなぜですか?ゼロではありませんか?なぜloaderInfo.bytesTotalが0であるのですか

My action(Preload) 


stop(); 

addEventListener(Event.ENTER_FRAME,loaderF); 

function loaderF(e:Event):void{ 
    var toLoad:Number = loaderInfo.bytesTotal; 
    var loaded:Number = loaderInfo.bytesLoaded; 
    var total:Number = loaded/toLoad; 

    if(loaded == toLoad){ 
     removeEventListener(Event.ENTER_FRAME,loaderF); 
     gotoAndStop(2); 
    } 
    else{ 
     preloader_mc.preloaderFill_mc.scaleX = total; 
     preloader_mc.precent_txt.text = Math.floor(total*100)+" %"; 
     preloader_mc.loaded_txt.text = loaded+" Bytes/"+toLoad+" Bytes"; 
    } 
} 
+0

ファイルをリクエストしたときにHTTPサーバーが送信しているヘッダーと関係があります。 http://getsatisfaction.com/schillmania/topics/bytestotal_issueをチェックしてください。それはMP3ファイル用ですが、症状はまったく同じです。 –

答えて

0

どのブラウザが重要ですか?私たちはこれがFFではなくIEでのみ起こるという報告を見ています。

3

これは、サーバー上のswfsに対してGZIPを無効にする必要があるためです。

あなたの.htaccessファイルに以下を追加:

SetEnvIfNoCase   Request_URI \.swf$ no-gzip dont-vary 

は、私はGoogle App Engineの中で(開発時に、一時的に)パッケージのswf上でこれを取得した今朝、私に

+0

+1うわー、それは私のために働いた。それは決して考えなかったでしょう。私は最近gzipを有効にしていましたが、その後mp3のbytesTotalが0になり始めましたが、接続は見たことがありません。私はmp3をgzipしないようにapacheに言いました。ありがとう! –

0

を多くの時間を要しました。 Google Cloud Storageに移動したときには問題ありませんでした。確かに、ヘッダーを比較すると、App EngineにContent-Lengthは含まれていませんでした。これを防ぐために2つのことを行いました:

1)私は定数として推定bytesTotalをハードコードし、それを使ってプログレスバーを表示するために完了パーセント(bytesTotalがゼロの場合)を決定しました。

2)プリローダーをMovieClipに変更し、currentFrame == totalFramesを使用して残りのswfのロードが完了したことを確認します。

1

次のコードは、私の作品:

loaderInfo.addEventListener(Event.COMPLETE, onComplete); 

これで唯一の問題は、あなたがbytesTotal==0を得るときあなたは正しくロードの進行状況を監視することはできませんです。読み込みが完了したときにのみ応答が得られます。

関連する問題