!!!临时测试可以,但最好不要在时间线上code,否则bug不可控!!!
animatecc videoplayer
//创建一个NetConnection对象,用于创建视频连接
var nc:NetConnection = new NetConnection();
//创建一个NetStream对象,用于控制视频的加载和播放
var ns:NetStream;
//创建一个Video对象,用于显示视频内容
var vid:Video = new Video();
//创建两个Object对象,以获取和储存视频的元数据信息
var movieObj:Object;
var customClient:Object;
//储存视频播放器的播放状态
var playStatus:String="play";
function metaDataHandler(metaDataObject:Object) {
//将回调的视频元数据赋予movieObj对象
movieObj=metaDataObject;
}
function playVideo() {
//创建NetConnection对象连接。由于此时视频文件位于本地计算机上,因此参数为null
nc.connect(null);
//通过nc连接创建NetStream对象实例
ns = new NetStream(nc);
//设置ns对象的client属性为customClient对象,以便当获得元数据时,触发onMetaData( )事件回调处理函数metaDataHandler
customClient= {onMetaData:metaDataHandler};
ns.client = customClient;
//使用play方法下载并播放视频
ns.play("wdata.mp4");
//使用Video对象的attachNetStream方法,将NetStream中的视频数据显示在vid容器中
vid.attachNetStream(ns);
vid.width = 3832;
vid.height = 888;
vid.smoothing = true;
waipic.addChild(vid);
addEventListener(Event.ENTER_FRAME,showPlayProgress);
}
function showPlayProgress(event:Event) {
//通过目前播放点的时间值除以总时长,得到当前的播放进度
var curtime:Number = ns.time;
var totaltime:Number = movieObj.duration;
//当播放进度大于99.99%时,表示播放到了视频尾部,此时重新播放视频
if (curtime/totaltime>=0.9999) {
ns.close();
playVideo();
}
}
function init() {
movieObj= new Object();
playVideo();
}
init();