我正在尝试创建一个双向视频聊天。您自己的网络摄像头显示非常好,但另一个没有。我以这个页面为例: http: //www.adobe.com/devnet/flashmediaserver/articles/p2p_apps_cirrus_lccs.html
按照页面上的步骤操作似乎对我不起作用。我通过 PHP 交换对等 ID。我让我的 Flash 访问一个页面,该页面使用 POST 请求将对等 ID 存储在数据库中。为了获取合作伙伴的对等 ID,我使用 PHP 会话,其中存储了您的 ID 和您的合作伙伴的 ID。然后我可以使用这些变量访问另一个 PHP 页面,该页面与合作伙伴的对等 ID 相呼应。两者都与数据库中的相同,因此没有任何问题。
网络连接:
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");
这就是我接收发布的流“vids”的方式:
StreamIn = new NetStream(Connection, OtherID);
StreamIn.play("vids");
StreamIn.client = this;
Other.videoObject.attachNetStream(StreamIn);
Other 和 Self 对象的类型为 <s:VideoDisplay>。
我敢肯定它一定是非常简单的事情,但我似乎无法确定它。