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数据
}
}
}
这两篇文件主要简单介绍如何用AS3方式构造Flv播放,很多开发者习惯AS2(我3年前习惯的方式),而AS3还不太熟悉,就算是一点小帮助吧。
最后用一张表总结一下Embed video in SWF,Progressive和Streaming的比较:
