網頁

2011/02/10

My Video Note

文章來源為ActionScript Cookbook,本文為在下讀書的摘要。

最近複習了一下State Pattern,剛好書上是使用video來講解,順便整理一下播放影片類別之間的作用。

flash.net.NetStream  -> 負責載入和控制播放。
flash.media.Video  -> NetStream只關心資料移動,Video可以將NetStream中的資料呈現在螢幕上。
flash.net.NetConnection  -> NetStram需要NetConnection求出資料的源頭,源頭有兩種:
  • Flash Communication Server 或 Flash Media Server:NetConnection會指向伺服器。
  • 本地:NetConnection成使用null。

了解以上的類別的功用後,以下為建立影片之必要程式碼 –

Step 1 – 建立一NetConnect物件,並指向null,表示影片來源為漸近式的影片(參考)
var nc:NetConnect = new NetConnection();
nc.connect(null);

Step 2 – 建構NetStream物件
var ns:NetStream = new NetStream(nc);

Step 3 – 建立Video物件,並顯示在顯示清單中
var video:Video = new Video();
addChild(video);


Step 4 – 將NetStream加入video視訊
video.attachNetStream(ns);

Step 5 – 最後播放影片的方法
ns.play("example.flv");


直接動手建立video還滿麻煩的但是很輕巧,而我現在做專案為了趕時間通常直接使用FLVPlayback組件,這樣比較快但笨重。



備註:
ns.close() -> 停止播放串流上的所有資料、將 time 屬性設定為 0,並讓該串流可以用於其它用途。
video.clear() -> 清除目前顯示在 Video 物件 (而非視訊串流) 中的影像

2 則留言:

Unknown 提到...

Greensock 有個 VideoLoader 也很好用。

Neil 提到...

真是3Q,看了一下感覺滿方便的,來研究一下~~