2011-08-15 54 views
2

我试图创建一个双向视频聊天。你自己的网络摄像头显示效果很好,但另一个则没有。我以此页面为例:http://www.adobe.com/devnet/flashmediaserver/articles/p2p_apps_cirrus_lccs.htmlRTFMP - 远程流不显示

继页面上的步骤似乎不适用于我。我通过PHP交换对等ID。我让Flash访问一个页面,该页面使用POST请求将对等ID存储在数据库中。要获取合作伙伴的对等ID,我使用PHP会话,它存储您的ID和您的合作伙伴的ID。然后,我可以使用这些变量访问另一个PHP页面,这个页面可以回应合作伙伴的对等ID。两者都与数据库中的相同,所以没有任何问题。

使用NetConnection:

Connection = new NetConnection(); 
Connection.addEventListener(NetStatusEvent.NET_STATUS, CheckConnect); 
Connection.connect(RTFMP + DevKey); 

这是我如何建立自己的网络摄像头加上它的NetStream:

StreamOut = new NetStream(Connection, NetStream.DIRECT_CONNECTIONS); 
var SelfCam:DynamicStreamingVideoSource = new DynamicStreamingVideoSource(); 
var VideoItems:Vector.<DynamicStreamingVideoItem>; 
VideoItems = new Vector.<DynamicStreamingVideoItem>(); 
VideoItems[0] = new DynamicStreamingVideoItem(); 

SelfCam.host = ""; 
SelfCam.streamType = StreamType.LIVE; 
SelfCam.streamItems = VideoItems; 

Self.source = SelfCam; 

var Cam:Camera = Camera.getCamera(); 
var Mic:Microphone = Microphone.getMicrophone(); 
Cam.setMode(380, 255, 15); 
Cam.setQuality(0, 80); 
Self.videoObject.attachCamera(Cam); 

StreamOut.attachAudio(Mic); 
StreamOut.attachCamera(Cam); 
StreamOut.publish("vids"); 

而且这是我收到的发布的流 “西元”:

StreamIn = new NetStream(Connection, OtherID); 
StreamIn.play("vids"); 
StreamIn.client = this; 
Other.videoObject.attachNetStream(StreamIn); 

其他和Self对象的类型为< s:VideoDisplay >。

我敢肯定,它一定是非常简单的事情,但我似乎无法控制它。

回答

1

没关系,我不得不使用mx:VideoDisplay而不是s:VideoDisplay。