[問題] NetStream.client

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

Links booklink

Contact Us: admin [ a t ] ucptt.com