0

我下载了 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 对象的状态)。我还看了这个: 从 SilverLight 调用时,NetConnect 在 Flash 中静默失败 但是作者建议的修复方法,在连接 uri 中交换 rtmp 和 http,不起作用。此外,我在个人项目中测试了 uri,实际上是完全相同的代码片段,它确实有效。我似乎无法找到为什么在 red5-recorder 项目中连接到媒体服务器会静默失败。

尴尬的部分是,如果我将一些随机字符串作为连接 uri 传递,仍然没有任何反应(没有事件、没有异常、没有崩溃)。也没有设置 nc.client becore nc.connect(),这在我的经验中会导致异常,但不会导致异常。

欢迎任何建议。

4

1 回答 1

0

您将地址设置为localshost而不是localhost

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

正确地址:

nc.connect("rtmp://localhost/oflaDemo/test/");
于 2013-05-15T23:56:49.240 回答