2

我正在尝试创建一个双向视频聊天。您自己的网络摄像头显示非常好,但另一个没有。我以这个页面为例: 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>。

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

4

1 回答 1

1

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

于 2011-08-17T22:40:59.463 回答