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的比較:
[img]/Files/BeyondPic/2007-10/7/delivery_method.png[/img]
本文轉自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1974.html