[问题] 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