2007
07.21


[這段程式碼僅供ActionScript 3.0與Flash Media Server參考]

好了,接續上次的介紹內容,終於到了動動手時間了,要使用ActionScript 3.0來連接Flash Media Server,必須要透過NetConnection這個類別來完成,這是一個最基礎也是最簡單的範例:

先跟大家說聲抱歉,在這我不會逐行解釋程式碼代表什麼意思,若對ActionScript 3.0不是很清楚的人可以看ActionScript 3.0的help,或是可以看小弟我寫的書,了解Flash CS3如何和ActionScript 3.0搭配使用。

package {
 import flash.display.Sprite;
 import flash.net.NetConnection;
 import flash.events.NetStatusEvent;
 import flash.net.ObjectEncoding;
public class Main141 extends Sprite{
public function Main141(){
  var nc:NetConnection = new NetConnection();
  nc.objectEncoding = ObjectEncoding.AMF0;
  nc.connect("rtmp://127.0.0.1/firstMedia/connector");
  nc.addEventListener(NetStatusEvent.NET_STATUS,statusHandler);
  }
private function statusHandler(event:NetStatusEvent):void{
  trace("這個連線的code內容為:"+event.info.code);
  for (var i:String in event.info){
  trace(i+":"+event.info[i]);
  }
  }
 }
}

好啦,大功告成,在這程式碼中由於要跟 AMF0的格是,所以必須將NetConeection的編碼設成AMF0,否則內定為AMF3,這樣將會造成無法連結的錯誤,若是建立連結成功結果如下圖:
fms-connection
否則失敗的話結果將為:
fms-connection
由此可見,若是想要知道連線是否成功,其實可以透過NetStatusEvent中的event.info.code來驗證,若是為NetConnection.Connect.Success的話,就代表成功,否則若是出現NetConnection.Connect.Failed則就代表失敗。


相關文章:
  • 深入淺出 Flash Media Server (RTMP)介紹 part VI – 使用WebCam
  • 深入淺出 Flash Media Server (RTMP)介紹 part V – Play & Stream
  • FLV與NetStram播放完畢判斷 part II
  • FLV與NetStram播放完畢判斷 part I
  • 深入淺出 Flash Media Server (RTMP)介紹 part III
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    2 comments so far

    Add Your Comment
    1. 請問一下 我按照你的程式碼打在AS3 裡面 要怎樣才會跑出你下面圖片的輸出呢?

      • 要寫成類別檔喔