2013-05-14 54 views
0

我下载了red5-recorder(http://www.red5-recorder.com/),它无法启动录制。调试后,我发现创建NetStatusEvent事件时需要记录到媒体服务器的netconnection不会启动,所以本质上它会以静默方式失败。我已经实现用下面的最小工作示例的连接:Actionscript 4:NetConnection.connect(...)不会触发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 

动作脚本API状态,所述连接呼叫始终闪光这样的事件:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetConnection.html#includeExamplesSummary

此外,的netconnection没有 '连接' 的卡后的10秒(NetConnection对象的状态)湖我也看了一下:NetConnect fails silently in Flash when called from SilverLight但是作者建议的修复方法,在连接uri中交换rtmp和http不起作用。另外,我测试了uri,并且实际上在一个个人项目中测试了完全相同的代码sniplet,它在哪里工作。我似乎无法找到为什么连接到媒体服务器在red5-recorder项目中无声无息地失败。

尴尬的部分是,如果我传递一些随机字符串作为contion uri,仍然没有任何反应(没有事件,没有例外,没有崩溃)。由于nc.connect()导致我的经验异常,所以也没有设置nc.client并没有导致异常。

欢迎任何建议。

+0

有没有这样的事情为ActionScript 4. – Discipol 2013-05-14 12:46:56

+0

对不起。我正在使用Flex 4.5(使用Flash Builder 4.5)和Actionscript 3.我的错误。 – Herbert 2013-05-14 14:15:15

回答

0

您正在设置地址为localshost而不是localhost

nc.connect("rtmp://localshost/oflaDemo/test/"); 

正确的地址:

nc.connect("rtmp://localhost/oflaDemo/test/"); 
+0

然而,没有错误事件是由网络连接触发的吗? – Herbert 2013-05-23 12:23:18

+0

我刚刚测试过你的代码,并且在10秒后触发错误事件 – fmodos 2013-05-23 14:23:26