Pages

2010年2月22日 星期一

尋找神祕的NetStream事件

 

同事找了很久的NetStream事件,我覺得應該記錄一下:

這是為了想找到影片什麼時候播放完畢,但是NetStream的事件乍看之下卻沒有相關的事件,

但是可以看到一個號稱有回報其狀態的事件netStatus:

blog1

 

點進去之後可以看到他小小的寫著此事件含有info屬性,

這時候可以參閱他下面的flash.events.NetStatusEvent.info

blog2

 

點進去後,他又寫說這個資訊物件他有code屬性,

這時候就可以看到下面的表,Code屬性欄位裡面,不同字串所代表的意義

blog3

 

就可以看到"NetStream.Play.Stop"就是代表播放已經停止了

blog4

使用時就是醬:

NetStream物件.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

private function netStatusHandler(e:NetStatusEvent):void {
                        switch (e.info.code) {
                                case "NetConnection.Connect.Success":
                                        //連線嘗試已成功。
                                        break;
                                case "NetStream.Play.StreamNotFound":
                                        //找不到傳遞至 play() 方法的 FLV。
                                        break;
                                case "NetStream.Play.Stop":
                                       //撥放完畢
                                       break;
                        }
                }