作者heavenbetula (綠草)
看板Flash
標題[問題] NetStream.client
時間Tue Mar 11 21:04:32 2014
書上對於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)
1F:→ KawasumiMai:{},單打這樣,基本上就是個object 03/11 22:05
2F:→ KawasumiMai:NetStream.client=new Object() 的意思 03/11 22:05
3F:→ KawasumiMai:然後這個物件上的onMetaData屬性設定一個function 03/11 22:06
4F:→ KawasumiMai:在AS上這種應該是屬於比較舊式的寫法了? 03/11 22:07
5F:→ KawasumiMai:如果是用AS3,嘗試宣告一下NetStream物件跟設定Event 03/11 22:07
6F:→ KawasumiMai:可能才會呼叫得到,不然可能會有各種意外發生 03/11 22:08
7F:→ heavenbetula:那請問第二種方法只用this,此時this是什麼意思? 03/11 23:03
8F:推 chengchieh:第二個中的this = 物件本身 : 你寫這段code所在的物件 03/12 01:02
9F:→ chengchieh:通常第二個寫法..就是要再寫一個public method 03/12 01:02
10F:→ chengchieh:onMetaData這個方法...並接收一個object參數 03/12 01:03
11F:→ chengchieh:兩個做法的事情是一樣..要把ns的client指定一個對象 03/12 01:04
12F:→ chengchieh:在有了對象之後..設定onMetaData這個func好讓 03/12 01:04
13F:→ chengchieh:串流在連線後要播放時..將串流的metadata傳入 03/12 01:05
14F:→ heavenbetula:可是書上確實只有一行,沒有特別寫onMetaData 03/12 18:59
15F:→ heavenbetula:而也沒有跑出錯誤 03/12 19:00
16F:推 chengchieh:onMetadata我記得不一定要收..所以沒有錯誤正常 03/12 21:30
17F:→ heavenbetula:了改,感謝各位! 03/12 21:51
18F:→ heavenbetula:那再請教一下...Video.attachNetStream(null); 03/12 21:53
19F:→ heavenbetula:為什麼給null了,畫面是不會動,但是聲音依然在播放 03/12 21:54
20F:推 KawasumiMai:你丟null進去是想...暫停?attach...印象中會疊加 03/12 22:59
21F:→ heavenbetula:是想讓按鈕按下,關閉影片 03/13 19:07
22F:→ heavenbetula:我知道NetStream.close()可以關閉 03/13 19:09
23F:→ heavenbetula:只是不解為何書上要先給null,然後再close 03/13 19:11
24F:→ heavenbetula:是為了釋放記憶體嗎? 03/13 19:11
25F:推 et69523820:null 是要清除影像 不然你會有video最後一張的畫面 04/17 17:33
26F:→ heavenbetula: 給null值video依然會有最後一張的圖 08/12 20:28