2024年1月10日发(作者:)
ActionScript编程 关闭与清除视频
作用:
将正在播放的视频关闭,并清除在video对象中显示的视频最后1帧。
说明:
在之前的小节中,已介绍过如何加载外部的视频并播放,并介绍过通过pause()方法以及togglePause()方法暂停正在播放的视频。ActionScript还允许用户关闭正在播放的视频,并将播放的视频从Video对象中清除。
1.关闭视频
在使用pause()方法或togglePause()方法暂停视频时,只能暂停视频的播放,无法将视频从NetStream对象中清除,也无法停止网络视频的下载。因此,在ActionScript3.0中,NetStream类提供了close()方法,可以帮助用户停止视频文件的播放和下载,如下所示。
();
当调用close()方法时,Flash播放器会从NetStream对象中删除FLV/F4V视频流的数据,使视频无法通过NetStream类的resume()方法回放。同时,NetStream类的time属性也将清零。
2.清除视频
当使用NetStream类的close()方法将视频流数据关闭后,在Video对象中仍然会存在视频播放的最后1帧图像。要想清除该帧的图像,需要调用Video类的clear()方法,如下所示。
();
如果用户需要继续从Video对象中播放视频,则需要重新为Video对象加载视频流对象,如下所示。
NetStream(NetStreamObject);
示例:
使用NetStream类的close()方法和Video类的clear()方法,可以方便地关闭和清除视频,实现多个视频之间的跳转与切换。例如,通过
数组存储6个视频,然后通过列表选择视频进行播放,并提供关闭和清除视频的按钮,如下所示。
for (var i:int=0; i<=5; i++) {
//通过循环生成文本域
var textField:TextField=new TextField();
textField.x=400;
textField.y=25+i*22;
="video0"+(i+1)+".f4v";
=22;
=100;
ld(textField);
//定义文本域的属性,并将其显示到舞台中
ntListener(,playVideo);
//为文本域添加鼠标单击事件,调用playVideo()事件函数
}
var netConnection:NetConnection=new NetConnection();
//实例化视频数据连接对象
t(null);
//定义连接名称
var netStream:NetStream=new NetStream(netConnection);
//实例化视频流数据对象
ntListener(_ERROR,AsyncErrorHandler);
//添加异步错误监听事件函数
var video:Video=new Video();
video.x=50;
video.y=20;
NetStream(netStream);
ld(video);
//定义视频对象的属性并将其添加到舞台中
function playVideo(event:MouseEvent=null):void {
//自定义playVideo()事件函数
();
//关闭当前视频
();
//清除视频的显示
();
//根据文本字段的内容播放视频
NetStream(netStream);
//将视频流应用到视频对象中
}
function AsyncErrorHandler(event:AsyncErrorEvent=null):void{
//调度异步错误事件
}


发布评论