NetConnection只有一个connect方法,NetStream就完整多了,方法如下:
close() 关闭
pause() 暂停
play() 播放
seek(n) 移动到n秒数值;
setBufferTime(n) 设置n秒的缓冲区;
下面的是属性了:
bufferLength 目前在缓冲区的秒数数值;
bufferTime 由setBufferTime设置的秒数数值;
currentFps 目前在串流资料中的每秒影格数;
time 以秒为单位,当前已经播放过的时间;
事件处理函数:
onStatus 返回串流的状态;
onMetaData 返回串流的总时间;
例:
在库中创建一个视频元件,取名为my_video;拖到场景中放好位置,在帧上输入如下代码:
var connection_nc:NetConnection = new NetConnection();//建立一个链接对象,
connection_nc.connect(null);//开始链接。
var stream_ns:NetStream = new NetStream(connection_nc);//建立一个视频对象,并和链接对象关联。
my_video.attachVideo(stream_ns);//场景中的新建视频实例加载视频。
stream_ns.setBufferTime(5);//设定N秒钟的时间缓冲区;
stream_ns.play("video_1.flv");//视频开始播放。
TotalTime();
stream_ns.onStatus = function(infoObject:Object) {//视频的事件反馈函数。
for (var prop in infoObject) {//获取事件内容infoObject[prop];
trace(infoObject[prop]);//跟踪一下stream_ms状态
var test:String = infoObject[prop];
if (test == "NetStream.Play.Stop") { //假如事件内容是flv播放完毕,则开始播放下一个或者重新播放,这就看自己的要求了。
trace("播放完毕,马上开始播放下一个");
stream_ns.play("video_2.flv");
TotalTime();
}
}
};
function TotalTime() {//duration获取影片的长度,flashmx2004下没有onMetaData,所以需要自己给它定义一个;flash8就不存在这样的问题,可以直接使用,也可以用2004的代码
stream_ns["onMetaData"] = function (metadata) {
Time_txt.text = "TotalTime: "+metadata.duration;
};
}