【发布时间】:2012-05-03 11:18:51
【问题描述】:
我们正在使用Cumulus 服务器创建与 RTMFP 的语音聊天。 用户通过加入同一个 NetGroup 来相互连接。
订阅的 NetStreams 上的语音聊天和通话功能运行良好。
但是,有时,当用户关闭浏览器窗口时,同一个 NetGroup 中所有用户的 Flash 插件都会崩溃。
由于没有报告错误,并且从我的 IDE (FlashDevelop) 启动 Flash 应用程序时似乎没有发生崩溃,所以我不知道发生了什么。我所知道的是,有时当用户退出 Flash 应用程序(关闭浏览器窗口/应用程序)时会发生这种情况。
这是建立与 NetGroup 的连接和发布音频发布流的方式(在建立与 Cumulus 服务器的连接之后):
_gspecMain = new GroupSpecifier("MainGroup");
_gspecMain.multicastEnabled = true;
_gspecMain.postingEnabled = true;
_gspecMain.serverChannelEnabled = true;
_gspecMain.objectReplicationEnabled = false;
_group = new NetGroup(_netConnection, _gspecMain.groupspecWithAuthorizations());
_group.addEventListener(NetStatusEvent.NET_STATUS, handleNetGroupStatus);
// Audio
_sendStream = new NetStream(_netConnection, NetStream.DIRECT_CONNECTIONS);
_sendStream.addEventListener(NetStatusEvent.NET_STATUS, handleNetStreamStatus);
_sendStream.client = this;
_sendStream.attachAudio(_mic);
_sendStream.publish("media");
这是如何创建一个接收 NetStream 来监听发布的(每当一个 Neighbor 连接时):
var netStream :NetStream = new NetStream(_netConnection, p_netStatusEvent.info.peerID);
netStream.addEventListener(NetStatusEvent.NET_STATUS, handleNetStreamStatus);
netStream.client = this;
netStream.play("media");
什么可能导致这种情况?当通知邻居断开连接时,我是否应该做一些特别的事情?请注意,我什至不知道崩溃是在任何通知之前还是之后发生的......
【问题讨论】:
-
当你说崩溃是指整个插件?不仅仅是应用程序?
-
我的意思是这个:support.mozilla.org/en-US/kb/… 如果你重新加载页面,它会再次工作。
标签: actionscript-3 flash netstream flash-media-server rtmfp