2

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 に依存したいと思います。)

4

1 に答える 1

0

移動してみてください: incomingStream.removeEventListener(NetStatusEvent.NET_STATUS, incomingStreamHandler);

オーバー トレース (event.info.code);

うまくいくといいのですが...

于 2013-03-27T23:05:53.390 に答える