2009-08-13 7 views
0

서버에서 실행할 때 loaderInfo.bytesTotal이 0이지만 테스트 동영상을 실행하면 0이 아닌 이유는 0이 아닙니까?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

어떤 브라우저가 중요합니까? 우리는 이것이 IE에서만 일어나고 FF가 아니라는보고를보고 있습니다.

3

서버의 swfs에 대해 GZIP를 비활성화해야하기 때문입니다.

은 htaccess로 파일이 추가

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

구글 앱 엔진의 아침

+0

+1 와우, 그게 나를 위해 일했습니다. 그렇게 생각하지 않았을 것입니다. 나는 최근에 gzip을 활성화 시켰고 나중에 mp3에서 bytesTotal이 0으로 시작되었지만 연결은 결코 보지 못했습니다. 나는 mp3를 gzip하지 않기 위해 아파치에게 말했고 모든 것이 작동하기 시작했다. 감사! –

0

내가 (개발 중, 일시적으로) 패키지는 SWF에서이 작업을 얻고 있었다 많은 시간을 나에게 비용. Google Cloud Storage로 옮길 때 문제가되지 않았습니다. 물론 헤더를 비교했을 때 App Engine에는 Content-Length가 포함되지 않았습니다. 나는 이것을 막기 위해 두 가지 일을했습니다.

1) 나는 추정 된 bytesTotal을 상수로 하드 코드하고, 그것을 사용하여 진행률 막대를 보여주기 위해 퍼센트 완료 (bytesTotal이 0 인 경우)를 결정했습니다.

2) 프리 로더를 MovieClip으로 변경하고 currentFrame == totalFrames을 사용하여 나머지 swf가 완전히로드가 완료되었는지 확인합니다.

1

다음 코드는 나를 위해 작동이와

loaderInfo.addEventListener(Event.COMPLETE, onComplete); 

유일한 문제는 당신이 bytesTotal==0을 얻을 때 올바르게로드 진행 상황을 모니터링 할 수 있습니다. 로드가 완료되면 응답 만받습니다.

관련 문제