flash中NetConnection与NetStream知识整理

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;
 };
}
原文地址:https://www.cnblogs.com/top5/p/2340108.html