有谁熟悉使用Cirrus? (http://labs.adobe.com/technologies/cirrus/)我正在努力让onPeerConnect对象以它应该的方式工作。我只需要能够将一侧接近ID并将其交给另一方。然后当near尝试连接到far时,far应返回true并允许连接,然后同时使用farID = subscriber.farID;
获取连接的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);
}
答案 0 :(得分:0)
答案 1 :(得分:0)
您不检查是否存在您在Peerconnect中设置的新传入流。您应该只在不存在的情况下启动新的传入流。 这就是它重复的原因。