我下载了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 doneactionscript api声明connect-call始终会触发这样的事件:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetConnection.html#includeExamplesSummary
此外,netconnection在调用10秒后没有'connected‘( NetConnection对象的状态)。我还看了一下这个:NetConnect fails silently in Flash when called from SilverLight,但作者建议的修复方法,在连接uri中交换rtmp和http,不起作用。此外,我在一个个人项目中测试了uri和实际上完全相同的代码片段,在那里它确实起作用了。我只是找不到为什么在red5-recorder项目中连接到媒体服务器会静默失败。
令人尴尬的是,如果我将一些随机字符串作为conenction uri传递,仍然什么都不会发生(没有事件,没有异常,没有崩溃)。另外,在我的经验中,没有设置nc.client nc.connect()会导致异常,也不会导致异常。
欢迎提出任何建议。
发布于 2013-05-16 07:56:49
您正在将地址设置为localshost而不是localhost。
nc.connect("rtmp://localshost/oflaDemo/test/");正确地址:
nc.connect("rtmp://localhost/oflaDemo/test/");https://stackoverflow.com/questions/16543478
复制相似问题