隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評論

          閱讀排行榜

          評論排行榜

          flash與后臺數(shù)據(jù)交換方法整理5-FlashCom(FMS)篇
          Submitted by kinglong on 2006-3-13 15:43:14

          五、FlashCom(FMS)

          這一篇是前四個(LoadVars(XML)Flash Remoting、Webservice、XMLSocket)的補充篇,本來我沒有考慮進去,因為FlashCom(FMS)主要用于流媒體技術(shù),今天要感謝Danger提出來了,呵呵,今天心情不錯,就一氣合成了!

          FlashCom(FMS)主要用于與服務(wù)端進行流媒體通信,目前應(yīng)用領(lǐng)域就是Flash流媒體播放Flash在線直播,Flash視頻音頻聊天,Flash視頻會議,Flash在線游戲等。

          FlashCom的運行環(huán)境(FMS的運行環(huán)境):

          1、Windows操作系統(tǒng):Windows 2000 Server或者Windows NT 4.0 Server(sp6);
          2、Linux操作系統(tǒng):Red Hat Linux 7.3 或者 8.0;
          3、服務(wù)器的CPU是Pentium III 500 MHz或者更高(推薦值是雙個Pentium 4 CPU);
          4、服務(wù)器的內(nèi)存是256M RAM 或者更高(推薦值是512M)。

          FlashCom(FMS)的優(yōu)點
          1、能夠?qū)崿F(xiàn)即時視頻音頻通信(當(dāng)然它也支持文本通信的);
          2、能夠流媒體同步播放(也叫在線直播);
          3、能夠通過Flash Player(6.0以上版本)錄制視頻音頻,無需其他客戶端;
          4、能夠?qū)崿F(xiàn)客戶端實現(xiàn)之間的控制(如會議主持人權(quán)限)。

          FlashCom(FMS)的缺點
          1、FlashCom(FMS)服務(wù)端軟件是MM公司的產(chǎn)品,需要花銀子去買的(一筆不小的投入),好在現(xiàn)在有一個正在完善中的開源項目——RED5;
          2、由于是流媒體服務(wù)端軟件,所以對服務(wù)器的帶寬,內(nèi)存,以及CPU也是很高的要求的(上面已經(jīng)作說明了);
          3、同時在線視頻通信的人數(shù)不能太多。

          //=======================================;
          // Flash客戶端(以簡單的在線錄制視頻為例)
          //=======================================;
          stop();
          var nc:NetConnection = new NetConnection();
          var ns:NetStream;
          var cam:Camera = Camera.get();
          var mic:Microphone = Microphone.get();
          //預(yù)覽本地攝像頭視頻;
          video_box.attachVideo(cam);
          //初始化NetStream;
          function initNetStream():Void {
          ns = new NetStream(nc);
          //設(shè)置2秒的緩沖時間;
          ns.setBufferTime(2);
          //使用NetStream加載視頻和音頻對象;
          ns.attachVideo(cam);
          ns.attachAudio(mic);
          //NetStream狀態(tài)信息;
          ns.onStatus = function(info:Object) {
          trace("ns.onStatus:"+info.code);
          };
          }
          //錄制視頻音頻;
          function recordStream(){
          ns.publish("kinglong","record");
          }
          //停止錄制;
          function stopStream(){
          ns.close();
          }
          //刪除視頻音頻文件;
          function deleteStream(){
          nc.call("clearStream",null,"kinglong");
          }
          //NetConnection狀態(tài)信息;
          nc.onStatus = function(info:Object) {
          trace("nc.onStatus:"+info.code);
          switch (info.code) {
          case "NetConnection.Connect.Success" :
          initNetStream();
          break;
          }
          };
          //連接FlashCom服務(wù)器
          nc.connect("rtmp:/"+"recordstream");



          //=======================================;
          // FlashCom(FMS)服務(wù)端代碼
          //將下列代碼存成main.asc文件(此文件名固定),在FlashCom的applications目錄下建立一個recordstream目錄(對應(yīng)著客戶端的”recodstream”),并將main.asc放在這個目錄中。
          //=======================================;
          application.onAppStart = function(){
          }
          application.onAppStop = function(){
          }
          application.onConnect = function(client){
          application.acceptConnection(client);
          }
          application.onDisconnect = function(client){
          }
          //=======================================;
          //獲取flv文件時間長度;
          function getStreamLength(name) {
          return Stream.length(name);;
          }
          //=======================================;
          //刪除flv文件;
          function clearStream(name) {
          trace("clearStream("+name+");");
          var stream = Stream.get(name);
          return stream.clear();
          }
          //=======================================;
          //設(shè)置Client.prototype;
          //=======================================;
          Client.prototype.getStreamLength = getStreamLength;
          Client.prototype.clearStream = clearStream;
          posted on 2006-06-04 11:40 blog搬家了--[www.ialway.com/blog] 閱讀(411) 評論(0)  編輯  收藏 所屬分類: FMS
          主站蜘蛛池模板: 平乡县| 阜城县| 灵寿县| 罗源县| 伊吾县| 巨野县| 三原县| 海城市| 牡丹江市| 星座| 澄江县| 丰宁| 界首市| 滨海县| 原阳县| 烟台市| 成武县| 宣城市| 介休市| 安国市| 民丰县| 普宁市| 桐城市| 大庆市| 宝鸡市| 县级市| 绥棱县| 高台县| 格尔木市| 茂名市| 搜索| 三明市| 榕江县| 娱乐| 建湖县| 太白县| 安泽县| 丰顺县| 廉江市| 衡山县| 五指山市|