【问题标题】:ReadByte from URLStream failed in ActionScript Flash Builder来自 URLStream 的 ReadByte 在 ActionScript Flash Builder 中失败
【发布时间】:2014-03-05 09:22:12
【问题描述】:

我是 ActionScript 新手,在从 URLStream 获取字节时遇到了一些问题。

我正在尝试连接到一个 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,不确定)

有人可以帮我解决这个问题吗? (或提供另一种获取字节的方法)

谢谢!

【问题讨论】:

    标签: actionscript-3 flash actionscript urlstream


    【解决方案1】:

    Connected表示服务器是否连接,并不代表数据加载完成。要读取字节,您需要等到数据加载完成,即您可以在完整的处理程序中读取字节。

    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;
    

    【讨论】:

      猜你喜欢
      • 2015-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-19
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多