[AS3]扩展 NetStream 类并使其为动态类
可以扩展 NetStream 类并使其子类为动态类,以便可以动态添加 onCuePoint 和 onMetaData 回调处理函数。以下代码清单演示了这一过程
可以扩展 NetStream 类并使其子类为动态类,以便可以动态添加 onCuePoint 和 onMetaData 回调处理函数。以下代码清单演示了这一过程:
var ns:DynamicCustomNetStream = new DynamicCustomNetStream(); ns.play("video.flv"); var vid:Video = new Video(); vid.attachNetStream(ns); addChild(vid);
DynamicCustomNetStream 类如下所示:
package { import flash.net.NetConnection; import flash.net.NetStream; public dynamic class DynamicCustomNetStream extends NetStream { private var nc:NetConnection; public function DynamicCustomNetStream() { nc = new NetConnection(); nc.connect(null); super(nc); } } }
由于 DynamicCustomNetStream 类为动态类,因此,即使 onMetaData 和 onCuePoint 回调处理函数没有处理函数,也不会引发错误。如果想要为 onMetaData 和 onCuePoint 回调处理函数定义方法,可以使用以下代码:
var ns:DynamicCustomNetStream = new DynamicCustomNetStream(); ns.onMetaData = metaDataHandler; ns.onCuePoint = cuePointHandler; ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv"); var vid:Video = new Video(); vid.attachNetStream(ns); addChild(vid); function metaDataHandler(infoObject:Object):void { trace("metadata"); } function cuePointHandler(infoObject:Object):void { trace("cue point"); }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...