使用AS3播放视频
Flash CS3 +As3 video HYPERLINK "/article/as3/201009/05-12056.html" /article/as3/201009/05-12056.html 使用As 3播放视频,与AS2的方法上大体上相似,相比来讲对于cuePoint和metaData的处理AS3会显得更简单,并且方法更多,另外对于netStream的方法在AS3中也增加了许多.下面的是一个小的测试.package?.webstudio{ ?
import?flash.display.Sprite; ?import?flash.media.Video; ?import?.NetConnection; ?import?.NetStream; ?import?flash.events.MouseEvent; ??public?class?Wsvideo?extends?Sprite?{ ?private?var?myvideo:Video; ?private?var?nc:NetConnection; ?private?var?ns:NetStream; ?public?function?Wsvideo()?{ ?init(); ?} ?private?function?init():void?{ ?//创建一个大小为400,240的video对象. ?myvideo=new?Video(400,240); ?addChild(myvideo); ?nc=new?NetConnection(); ?nc.connect(null); ?ns=new?NetStream(nc); ??myvideo.attachNetStream(ns); ?ns.play("wsvideo.flv"); ?ns.bufferTime?=10; ??//获取cuePoint和metaData信息.此处要比AS2更简单. ?var?customclient:Object?=?new?Object(); ?customclient.onCuePoint?=?cuePointHandler; ?customclient.onMetaData?=?metaDataHandler; ?//设定client属性为customclient对象。那么customclient对象的两个方法将被调用。 ?ns.client?=?customclient; ??stage.addEventListener(MouseEvent.MOUSE_DOWN,?onSwitchMovie); ?} ?private?function?cuePointHandler(infoObject:Object):void{ ?trace(infoO); ?} ?private?function?metaDataHandler(infoObject:Object):void{ ?trace(infoObject.duration); ?} ?private?function?onSwitchMovie(event:MouseEvent):void{ ?//As3.0中netStream中的新的togglePause()方法. ?ns.togglePause(); ?} ?} ?} ?? 在上面的代码,如果与AS2相比,现在只需要创建一个video实例即可,不需象在AS2中那需要在库中创建视频对象,当然这里主要是指不使用组件的方式.第二处是关于cuePoint和metaData的处理,在As3.0只需要创建一个对象如上面创建的是customclient对象,它相当于是为onCuePoint和onMetaData创建了事件侦听器.当事件发生时,执行cuePointHandler和metaDataHandler事件处理函数.最后将ns的client属性设置为customclient。client属性的主要是用于指定哪个对象的方法将调用。可参考帮助文件。AS3 中的togglePause();是一个不错的方???,自动在停止和播放之间切换。鼠标点击停止播放,再次点击继续播放。