2014-03-05 56 views
0

我是ActionScript新手,在從URLStream獲取字節時遇到了一些問題。來自URLStream的ReadByte在ActionScript Flash Builder中失敗

我試圖連接到一個URL,並從這個URL獲取字節。

我創建的private var urs:URLStream;urs.connected返回true。現在我想從這個URL獲取字節。我的代碼是:

public class myClass extends MovieClip 
{ 
    private var urs:URLStream; 
    private var ns:NetStream; 
    private var urr:URLRequest; 
    private var textStr:TextField; 

    public function myClass() 
    { 
     var urr:URLRequest; 
     var urs:URLStream; 
     urr=new URLRequest("http://myserver/video/video.flv"); 
     urs=new URLStream(); 
     urs.addEventListener(flash.events.ProgressEvent.PROGRESS,progresHnd); 
     urs.addEventListener(flash.events.Event.COMPLETE,completeHnd); 
     urs.addEventListener(flash.events.Event.CLOSE,closeHnd); 
     urs.addEventListener(flash.events.Event.OPEN,openHnd); 
     urs.load(urr); 

     if (urs.connected) 
     { 
      var myint:int = urs.readByte(); 
      textStr.text = "success"; 
      addChild(textStr); 
     } 
     else 
     { 
      textStr.text = "urs not connected"; 
      addChild(textStr); 
     } 
    } 
} 

代碼在urs.readByte();失敗。 (也許錯誤#2030,不確定)

有人可以幫我解決這個問題嗎? (或者以另一種方式獲取字節)

謝謝!

回答

1

連接意味着服務器是否連接,這並不意味着數據加載完成。要讀取字節,您需要等待數據加載完成,即可以在完整處理程序中讀取字節。

public function completeHnd(evt:Event):void { 
    var myint:int = urs.readByte(); 
} 

補充說明,當你添加在構造函數var urs:URLStream;var urs:URLStream;他們都躲在類成員ursurs。所以你需要從構造函數中刪除這些聲明。

// remove these two lines from constructor 
var urs:URLStream; 
var urr:URLRequest; 
+0

謝謝!有用 :) – kande

相關問題