我下载了red5-recorder(http://www.red5-recorder.com/),但未能让我开始录制。在调试之后,我发现创建记录到媒体服务器所需的netconnection不会触发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声明connect-call总是触发这样的事件:
此外,在连接10秒后,netconnection没有“连接”(NetConnection对象的状态)。我也看了一下:NetConnect fails silently in Flash when called from SilverLight但是作者提出的修复,在连接uri中交换rtmp和http,都行不通。此外,我测试了uri,实际上是在个人项目中完全相同的代码片段,它确实起作用。我似乎无法找到为什么连接到媒体服务器在red5-recorder项目中无声地失败。
尴尬的部分是,如果我传递一些随机字符串作为连接uri,仍然没有任何事情发生(没有事件,没有异常,没有崩溃)。也没有设置nc.client因为nc.connect(),这在我的经验中引起了异常,并没有导致异常。
欢迎任何建议。
答案 0 :(得分:0)
您将地址设置为 localshost ,而不是 localhost 。
nc.connect("rtmp://localshost/oflaDemo/test/");
正确的地址:
nc.connect("rtmp://localhost/oflaDemo/test/");