0

Cirrus の使用に詳しい人はいますか? (http://labs.adobe.com/technologies/cirrus/) onPeerConnect オブジェクトを正常に動作させるのに最も苦労しています。私はちょうど一方の側のnearIDを取り、それをもう一方に与えることができる必要があります。そして、near が far に接続しようとすると、far は true を返し、接続を許可する必要があります。同時に、接続中の farID を独自に取得しますfarID = subscriber.farID;(これは機能し、farID を取得していることを確認しました)。スパムされているのを見るだけのコード....

TRUE
NetStream.Play.Start
NetStream.Play.Start
NetStream.Connect.Success
NetStream.Connect.Closed
TRUE
TRUE
NetStream.Play.Start
TRUE
NetStream.Play.Start
NetStream.Play.Start
NetStream.Connect.Closed
NetStream.Connect.Success
NetStream.Connect.Closed
TRUE
TRUE
TRUE
NetStream.Play.Start
NetStream.Connect.Closed
TRUE
NetStream.Play.Start
NetStream.Connect.Closed
TRUE
NetStream.Play.Start
TRUE
NetStream.Play.Start
NetStream.Play.Start
NetStream.Connect.Closed
NetStream.Connect.Success

何度も何度も何度も

では、どうすればこの作業を行うことができますか?私が言ったように、一方の側だけに他の farID を提供する必要があり、オーディオとビデオを互いに渡すことができますか?

私は何時間もコードを再配置し、client =とりわけコードの場所をいじっていましたが、まだ運がありません. 誰でもトピックに関する洞察を共有できますか?

//SETUP STREAM FUNCTION
                    public function setupStream():void
                    {


                        //send stream with audio and video;
                        sendStream = new NetStream(netConnection,NetStream.DIRECT_CONNECTIONS);

                        sendStream.attachAudio(live_mic);
                        sendStream.attachCamera(nearCam);
                        sendStream.addEventListener(NetStatusEvent.NET_STATUS, cirrusStatusHandler);



                        var c:Object = new Object;
                        c.onPeerConnect = function(subscriber:NetStream):Boolean {

                                farID = subscriber.farID;
                                trace("TRUE");
                                setupReceiveStream();
                                return true;


                        }
                        sendStream.client = c;
                        sendStream.publish("media");

                    }




    //receive stream function
                public function setupReceiveStream():void
                {
                    receiveStream = new NetStream(netConnection, farID);

                    //receive stream with audio and video;
                    receiveStream.client = this;
                    receiveStream.play("media");
                    far_video.mx_internal::videoPlayer.attachNetStream(receiveStream);
                    receiveStream.addEventListener(NetStatusEvent.NET_STATUS, cirrusStatusHandler);

                }
4

2 に答える 2

0

onPeerconnect で設定した新しい着信ストリームが存在するかどうかを確認しません。新しい着信ストリームが存在しない場合にのみ開始する必要があります。これが繰り返している理由です。

于 2013-03-26T18:18:37.407 に答える