NetStream在关闭后接收事件

时间:2013-03-05 08:24:09

标签: actionscript-3 flex rtmp netstream wowza

我正在使用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。 )

1 个答案:

答案 0 :(得分:0)

尝试移动: incomingStream.removeEventListener(NetStatusEvent.NET_STATUS,incomingStreamHandler);

过 迹(event.info.code);

我希望它有效......