[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的区别是什么
- [AS3]as3.0的sound类常用技巧整理
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...


