Wowza を使用して 1 対 1 のビデオ チャット アプリケーションを開発しています。リモート クライアントがパブリッシュを停止した後、受信 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.UnpublishNotify の代わりに NetStream.Play.StreamNotFound で着信ストリームを切断していましたが、前者のイベントが常に発生するとは限らないことがわかったので、代わりに NetStream.Play.UnpublishNotify に依存したいと思います。)