我正在使用Wowza开发一对一的视频聊天应用程序。远程客户端停止发布后,我正在断开传入的NetStream。这是我的代码的要点:
incomingStream = new NetStream(netConnection);
incomingStream.addEventListener(NetStatusEvent.NET_STATUS, incomingStreamHandler);
incomingStream.play("media");
private function incomingStreamHandler(event:NetStatusEvent):void
{
trace(event.info.code);
if (event.info.code == "NetStream.Play.UnpublishNotify")
{
incomingStream.close();
incomingStream.removeEventListener(NetStatusEvent.NET_STATUS, incomingStreamHandler);
incomingStream = null;
}
}
这是问题:在NetStream.Play.UnpublishNotify事件触发并关闭传入流之后,我收到以下运行时错误:
Error #2044: Unhandled NetStatusEvent:. level=error, code=NetStream.Play.StreamNotFound
如果我在上面的incomingStreamHandler()中注释掉removeEventListener()行,我会看到NetStream.Play.UnpublishNotify后跟NetStream.Play.StreamNotFound。 但是为什么即使关闭传入的NetStream后此事件仍然会触发?
(最初,我在NetStream.Play.StreamNotFound而不是NetStream.Play.UnpublishNotify上断开传入的流,但我发现前一个事件并不总是触发,所以我想依赖NetStream.Play.UnpublishNotify。 )
答案 0 :(得分:0)
尝试移动: incomingStream.removeEventListener(NetStatusEvent.NET_STATUS,incomingStreamHandler);
过 迹(event.info.code);
我希望它有效......