·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]FMS3.5实例源代码

时间:2012-08-20 13:18魔豆
Adobe的FMS真的是一个倍儿牛叉的技术!(至少Silverlight在方面目前还没有任何能超越FMS的迹象)曾经盛极一时的tudou,ku6,第一视频...等一大堆视频分享类网站,几乎都使用的是Adobe的FMS技术

Adobe的FMS真的是一个倍儿牛叉的技术!(至少Silverlight在"实时广播"方面目前还没有任何能超越FMS的迹象)
曾经盛极一时的tudou,ku6,第一视频...等一大堆视频分享类网站,几乎都使用的是Adobe的FMS技术.
今天先来做一个最简单的Hello World(例子出自FMS的官方文档)

1.先创建一个FMS应用HelloWorld
进入FMS的默认安装目录: C:\Program Files\Adobe\Flash Media Server 3.5\applications
在这下面创建一个HelloWorld目录即可

2.打开Flash Cs4,创建一个 Flash文件(ActionScript3.0),保存为"HelloWorld.fla"
拖二个按钮到舞台上,命名为btnConn,btnDisConn;对应的label文本为:"连接到FMS","断开与FMS的连接"
再拖一个Label到舞台上,命名为lblResult,用来显示操作结果
在第一帧上写入以下代码:

  1. var nc:NetConnection;   
  2. //注册事件   
  3. btnConn.addEventListener(MouseEvent.CLICK,btnConnClick);   
  4. btnDisConn.addEventListener(MouseEvent.CLICK,btnDisConnClick);   
  5. function btnConnClick(e:MouseEvent) {   
  6.     if (nc==null) {   
  7.         nc = new NetConnection();   
  8.         nc.addEventListener(NetStatusEvent.NET_STATUS,connHandler);//每当连接状态有变化时,会自动调用 connHandler   
  9.         nc.connect("rtmp://localhost/HelloWorld");   
  10.         lblResult.text="正在连接FMS...";   
  11.     }   
  12. }   
  13. function btnDisConnClick(e:MouseEvent) {   
  14.     if (nc!=null) {   
  15.         nc.close();   
  16.         nc=null;           
  17.     }   
  18. }   
  19. function connHandler(e:NetStatusEvent) {   
  20.     trace(e.info.code);   
  21.     switch (e.info.code) {   
  22.         case "NetConnection.Connect.Closed" :   
  23.             lblResult.text="成功关闭连接";   
  24.             break;   
  25.         case "NetConnection.Connect.Failed" :   
  26.             lblResult.text="连接尝试失败";   
  27.             break;   
  28.         case "NetConnection.Connect.Success" :   
  29.             lblResult.text="连接尝试成功";   
  30.             var resp:Responder = new Responder(onReply);   
  31.             nc.call("serverHelloMsg", resp, "Hi FMS!");//调用服务端的serverHelloMsg的方法   
  32.             break;   
  33.         case "NetConnection.Connect.Rejected" :   
  34.             lblResult.text="连接尝试没有访问应用程序的权限";   
  35.             break;   
  36.         default :   
  37.             lblResult.text=e.info.code;   
  38.             break;   
  39.     }   
  40. }   
  41. function onReply(e:Object){   
  42.     trace("服务端返回内容:" + e);   
  43.     lblResult.text = e.toString();   

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器