最近複習了一下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 則留言:
Greensock 有個 VideoLoader 也很好用。
真是3Q,看了一下感覺滿方便的,來研究一下~~
張貼留言