cenfee's blog->Flash.Flex.ActionScript.RIA.Js.Php(新博客地址:http://cenfee.com/)

导航

用fms做一个广播系统

  这好像还是上学期做的了,还是拿出来和大家分享下,fms能做的东西很多,很容易就能做一个高技术的东东出来,不过价格是相当昂贵啊!去adobe官网可以下载开发者版本玩玩,也可以偷偷去下个注册机搞正式版!

广播端:(哈哈,衣服怎么样,校园ria代表,adobe送的哦)

观众接受端:

  首先,你还是要明白netStream和netConnection,去看看帮助文档吧,流的应用太广了,是应该深刻去看看。

  关于fms应该怎么弄,我也不说了,首先连接到fms服务器的地址,fms默认端口是80,我修改了为88,broadcastRoom相当与一个应用程序

  连接服务器,

 

var rtmp:String = "rtmp://localhost:88/broadcastRoom";
nc.connect(rtmp);

  等连接上后,打通流(常识),还有摄像头,麦克风,video的设置就不摆上来了

streamOut = new StreamAV(nc);
streamOut.streamOut(mic,cam,"presentation");

  主要是下面这句,streamOut(mic,cam,"presentation");mic和cam就是把麦克风和摄像头捕获的信息通过流传送到“观众”,而第3个参数,就是给这个流起一个名字,等“观众”可以找到这个流。

 

 

  观众端其实大概差不多,就是把那流接受进来,通过video播放出来就是了(看到那个流名字了吗)

streamIn = new StreamAV(nc);
streamIn.streamIn(vid,"presentation");

 

 

  还有就是服务器端代码

application.onAppStart = function()
{//程序启动
  trace("The Broadcast has begun!");
};
application.onConnect = function(client,streamName)
{//连接上
  client.name=streamName;
  trace(client.name + " has connected");
  application.acceptConnection(client);

  trace(client.name + " has been accepted");
  client.setBandWidth=function(inBandWidth, outBandWidth)  //onConnect里的函数可以在flex端nc.call("setBandWidth",null,100,outBandWidth);来调用
  {//设置流出流入带宽
    client.setBandwidthLimit(inBandWidth,outBandWidth);
  }
}
application.onDisconnect = function(client)
{//连接断开
  trace(client.name + " has left.");//trace的东西要在控制台才可以看得到
}

posted on 2010-11-13 15:15  cenfee  阅读(368)  评论(0)    收藏  举报