我在Flash CS6上使用flash media server5尝试播放视频,但它永远不会有效。它总是说:
{ArgumentError: Error #2126: NetConnection object must be connected
at flash.net::NetStream/ctor()
at flash.net::NetStream()
at flashmediaservertest_fla::MainTimeline/frame1()}
我的代码:
var my_nc:NetConnection =new NetConnection();
my_nc.connect("rtmp://127.0.0.1/flv/");
my_nc.client = this;
var my_ns= new NetStream(my_nc);
video.attachNetStream(my_ns);
my_ns.play("simple.flv");
问题是什么?
答案 0 :(得分:1)
问题是connect
的{{1}}方法是异步的。这意味着,不是冻结整个程序等待响应(有时需要一段时间),应用程序会立即移动到其余代码,并在连接完成时调度事件。
您需要做的是向您的网络连接添加一个事件监听器,以便您的程序知道该连接何时完成。然后,只有在您知道建立连接后才运行您的网络流代码。
以下是一个例子:
NetConnection
您可以看到所有不同NET_STATUS信息代码here的列表。处理所有各种连接错误也是一个好主意。