- 实现的想法
1.用fms 制作的屏幕共享。功能有通过发送自己的视频,实时让别人观看视频。或通过自己录制发送到服务器上,并储存为flv 。
区别在于用,两种方法发送视频流
netStream.publish(视频名称,"record");//录制
netStream.publish(视频名称,"live");//现场流
2.告知所有人,我创建了什么视频。
用一个远程共享对象储存视频的列表,并在连接后更新,创建视频后更新。
写两个函数
//获得列表
private function listHandler(event:SyncEvent):void{
videoList.removeAll();
var arr1:ArrayCollection = new ArrayCollection();
if ( videoList_so.data.videoList==null )
{
arr1 = new ArrayCollection();
}
else
{
convertArrayCollection(arr1,videoList_so.data.videoList as ArrayCollection);
for(var i:int=0;i<arr1.length;i++){
videoList.addItem(arr1[i]);
}
}
}
//设置列表
private function setVideoList():void{
var arr1:ArrayCollection = new ArrayCollection();
for(var i:int=0;i<videoList.length;i++){
arr1.addItem(videoList[i]);
}
videoList_so.setProperty("videoList",arr1);
}
3.全屏播放的方法在这里:
http://ltoooooooo.iteye.com/blog/404609
4.屏幕录制的方法采用了三方的录制软件
- 关于共享对象
放在服务器端,能被所有的客户端修改。
例如:
videoList_so=SharedObject.getRemo("name",netConnection.uri,true);
name为放在服务器端得名称。 如没有找到的时候,在服务器自动创建一个。
netConnection.uri 为连接。
true 为保存在服务器, FALSE 无连接是共享对象对象消失。
- 关于服务器端的代码放在附件中。配置的方法在这篇文章中。
http://ltoooooooo.iteye.com/blog/424008
- 效果图