2011-03-09 2 views
0

Cirrus 사용에 익숙한 분? (http://labs.adobe.com/technologies/cirrus/) 필자는 onPeerConnect 개체를 얻는 데 가장 힘든 시간을 보내고 있습니다. 나는 단지 1면을 nearID 가까이 가져 와서 다른쪽에 줄 수 있어야합니다. 그리고 나서 가까운 쪽에서 멀리에 연결하려고 할 때 far가 true를 반환하고 연결을 허용해야합니다. 그 다음 동시에 동일한 farID를 farID = subscriber.farID; (자체가 farID를 얻는다고 확인했습니다)과 자체적으로 연결해야합니다.하지만 시도 할 때 그냥 볼이 코드를 통해onPeerConnect가 어도비 권운과 제대로 작동하지 않습니다.

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 
이상

이상과 .... 함께하고 그래서

을 통해 스팸 메일을 받고 내가 어떻게는 1면이 제공 될 필요가 말했듯이 나는, 그래서이 작품을 얻을 수 있습니다 다른 사람들과 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); 

       } 

답변

0

당신은 확인 해달라고 만약 당신이 onPeerconnect의 extist에서 설정 한 새로운 입력 스트림입니다. 새로운 수신 스트림이없는 경우에만 새 수신 스트림을 시작해야합니다. 이것이 반복되는 이유입니다.