Actionscript 4:NetConnection.connect(...) 不会触发 NetStatusEvent 事件
Posted
技术标签:
【中文标题】Actionscript 4:NetConnection.connect(...) 不会触发 NetStatusEvent 事件【英文标题】:Actionscript 4: NetConnection.connect(...) does not fire a NetStatusEvent event 【发布时间】:2013-05-08 18:02:26 【问题描述】:我下载了 red5-recorder (http://www.red5-recorder.com/) ,但无法开始录制。调试后,我发现需要记录到媒体服务器的网络连接不会触发 NetStatusEvent 事件,因此基本上它会默默地失败。我已经使用以下最小工作示例实现了连接:
trace("make net connection");
nc = new NetConnection();
nc.client = onBWDone: function():void trace("bandwidth check done.") ;
trace("add event listener");
nc.addEventListener(NetStatusEvent.NET_STATUS, function(event:NetStatusEvent)
trace("handle");
);
trace("connect!");
nc.connect("rtmp://localshost/oflaDemo/test/");
trace("connect done");
这段代码的输出是:
make net connection
add event listener
connect!
connect done
actionscript api 声明连接调用总是触发这样的事件:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetConnection.html#includeExamplesSummary
此外,调用后 10 秒,网络连接未“连接”(NetConnection 对象的状态)。我也看了这个:NetConnect fails silently in Flash when called from SilverLight 但是作者建议的修复,在连接uri中交换rtmp和http,不起作用。此外,我在个人项目中测试了 uri,实际上是完全相同的代码片段,它确实有效。我似乎无法找到为什么在 red5-recorder 项目中连接到媒体服务器会静默失败。
尴尬的部分是,如果我将一些随机字符串作为连接 uri 传递,仍然没有任何反应(没有事件、没有异常、没有崩溃)。也没有设置nc.client becore nc.connect(),这在我的经验中导致异常,并没有导致异常。
欢迎提出任何建议。
【问题讨论】:
没有 Actionscript 4 这样的东西。 对不起。我正在使用带有 Actionscript 3 的 Flex 4.5(带有 flash builder 4.5)。我的错误。 【参考方案1】:您将地址设置为 localshost 而不是 localhost。
nc.connect("rtmp://localshost/oflaDemo/test/");
正确地址:
nc.connect("rtmp://localhost/oflaDemo/test/");
【讨论】:
然而,网络连接不触发错误事件是否可以接受? 我刚刚测试了您的代码,并在 10 秒后触发了错误事件以上是关于Actionscript 4:NetConnection.connect(...) 不会触发 NetStatusEvent 事件的主要内容,如果未能解决你的问题,请参考以下文章
Actionscript,多维数组的hasOwnProperty()
Actionscript 3 和 Flex 4 通过触摸滚动 TileList
Actionscript 4:NetConnection.connect(...) 不会触发 NetStatusEvent 事件
ActionScript 3 在FlashDevelop中嵌入truetype字体(Flex 4+)