【发布时间】:2013-02-19 13:39:15
【问题描述】:
我正在使用 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 代替。 )
【问题讨论】:
标签: actionscript-3 apache-flex rtmp netstream wowza