7Yue's Weblog

Thinking in RIA Solutions...

导航

    毕业于七月,工作始于七月,与另一半牵手在七月......
« AS3版本Progressive FLV播放方式AS2与AS3版本的Flash全屏控制 »

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的比较:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.7 Laputa Build 70216

Copyright 2007 www.7yue.com. Some Rights Reserved.
京ICP备05064035号