AS3版本FMS Streaming FLV播放方式


AS3版本的FMS Streaming FLV的方法与前一篇的Progressive的方法基本一致,我们只需要把前一篇中的代码的某些部分做改动即可。注意看区别就在nc.connect的参数部分,下面是代码:
package {
  import flash.display.Sprite;
  import flash.net.NetConnection;
  import flash.net.NetStream;
  import flash.media.Video;
  import flash.display.MovieClip;
  public class StreamingFlvplayer extends Sprite {
    public function StreamingFlvplayer() {
      //创建NetConnection对象,并在nc.connect参数部分传递rtmp路径
      var myNc:NetConnection=new NetConnection();
      myNc.connect("rtmp://localhost/StreamingFlvplayer/_definst_");
      //使用onMetaData函数,Flash用来寻找这个方法
      var metaObject:Object=new Object();
      metaObject.onMetaData=onMetaData;
      //构造NetStream对象并且连接创建的myNc对象
      var myNs:NetStream=new NetStream(myNc);
      myNs.play("keiko.flv");
      //发送所有onMetaData调用到NetStream上
      myNs.client=metaObject;
      //创建video尺寸
      var video:Video=new Video(160,120);
      //加载Video到NetStream上去,添加到display列表
      video.attachNetStream(myNs);
      addChild(video);
    }
    private function onMetaData(data:Object):void {
      //发送Flash需要的Metadata数据
    }
  }
}
虽然代码只有一处变动,但是flv文件的放置则有了变化,FMS安装完后,flv文件放在FMS安装的Applications文件夹下的_definst_/streams目录下,这个目录的文件是通过http不可以访问下载的。受保护的flv切忌不要放在web server的文件夹下。
这两篇文件主要简单介绍如何用AS3方式构造Flv播放,很多开发者习惯AS2(我3年前习惯的方式),而AS3还不太熟悉,就算是一点小帮助吧。
最后用一张表总结一下Embed video in SWF,Progressive和Streaming的比较:

本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1974.html

你可能感兴趣的:(html,.net,Web,Flash)