[問題] NetStream.client

看板Flash作者 (綠草)時間10年前 (2014/03/11 21:04), 編輯推噓4(4022)
留言26則, 4人參與, 最新討論串1/1
書上對於NetStream.client中的client屬性寫的有點模糊... 似乎是要處理 onMetaData 的問題,但是還是不是很明白... 我分別在兩本書上看到不同寫法: 1. NetStream.client={}; NetStream.client.onMetaData = function(info:Object){ var duration:Number = info.duration; 2. NetStream.client=this; 這兩個寫法測試的結果是都不會跑出 onMetaData 的錯誤問題 但是小弟我還是不知道為何要這樣寫,分別有什麼意思呢? 還有,第一種寫法如果只打 NetStream.client={}; 這一行,好像也不會有錯誤發生... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.31.174 ※ 編輯: heavenbetula 來自: 61.230.31.174 (03/11 21:15) ※ 編輯: heavenbetula 來自: 61.230.31.174 (03/11 22:00)

03/11 22:05, , 1F
{},單打這樣,基本上就是個object
03/11 22:05, 1F

03/11 22:05, , 2F
NetStream.client=new Object() 的意思
03/11 22:05, 2F

03/11 22:06, , 3F
然後這個物件上的onMetaData屬性設定一個function
03/11 22:06, 3F

03/11 22:07, , 4F
在AS上這種應該是屬於比較舊式的寫法了?
03/11 22:07, 4F

03/11 22:07, , 5F
如果是用AS3,嘗試宣告一下NetStream物件跟設定Event
03/11 22:07, 5F

03/11 22:08, , 6F
可能才會呼叫得到,不然可能會有各種意外發生
03/11 22:08, 6F

03/11 23:03, , 7F
那請問第二種方法只用this,此時this是什麼意思?
03/11 23:03, 7F

03/12 01:02, , 8F
第二個中的this = 物件本身 : 你寫這段code所在的物件
03/12 01:02, 8F

03/12 01:02, , 9F
通常第二個寫法..就是要再寫一個public method
03/12 01:02, 9F

03/12 01:03, , 10F
onMetaData這個方法...並接收一個object參數
03/12 01:03, 10F

03/12 01:04, , 11F
兩個做法的事情是一樣..要把ns的client指定一個對象
03/12 01:04, 11F

03/12 01:04, , 12F
在有了對象之後..設定onMetaData這個func好讓
03/12 01:04, 12F

03/12 01:05, , 13F
串流在連線後要播放時..將串流的metadata傳入
03/12 01:05, 13F

03/12 18:59, , 14F
可是書上確實只有一行,沒有特別寫onMetaData
03/12 18:59, 14F

03/12 19:00, , 15F
而也沒有跑出錯誤
03/12 19:00, 15F

03/12 21:30, , 16F
onMetadata我記得不一定要收..所以沒有錯誤正常
03/12 21:30, 16F

03/12 21:51, , 17F
了改,感謝各位!
03/12 21:51, 17F

03/12 21:53, , 18F
那再請教一下...Video.attachNetStream(null);
03/12 21:53, 18F

03/12 21:54, , 19F
為什麼給null了,畫面是不會動,但是聲音依然在播放
03/12 21:54, 19F

03/12 22:59, , 20F
你丟null進去是想...暫停?attach...印象中會疊加
03/12 22:59, 20F

03/13 19:07, , 21F
是想讓按鈕按下,關閉影片
03/13 19:07, 21F

03/13 19:09, , 22F
我知道NetStream.close()可以關閉
03/13 19:09, 22F

03/13 19:11, , 23F
只是不解為何書上要先給null,然後再close
03/13 19:11, 23F

03/13 19:11, , 24F
是為了釋放記憶體嗎?
03/13 19:11, 24F

04/17 17:33, , 25F
null 是要清除影像 不然你會有video最後一張的畫面
04/17 17:33, 25F

08/12 20:28, , 26F
給null值video依然會有最後一張的圖
08/12 20:28, 26F
文章代碼(AID): #1J7mdZJX (Flash)
文章代碼(AID): #1J7mdZJX (Flash)