以下是筆記──
參考資料:[文章]Adobe Flash Media Server即時影音串流服務
首先,先安裝FMS,去ADOBE那裡註冊之後就可以下載FMS測試版哩!
安裝完畢後,可以到 安裝路徑/applications 下看到live與vod與其他...
以下是我經歷過的錯誤與因應措施:
錯誤:NetConnection.Connect.Rejected
解決:你位置寫錯了,FMS4要改成rtmfp://localhost/資料夾位置。
錯誤:NetStream.Record.NoAccess
解決:這個時候我使用的位置是rtmfp://localhost/live,該資料夾內,有個main.far檔案,解壓縮後可以看見Application.xml檔案,把這檔案的no改成yes、false改成true,因為這屬性參數設定的是拒絕遠端錄影,我們只是把它改成能夠使用。之後要壓縮回去成main.far就是了!
錯誤:NetConnection找不到函數onBWDone
解決:只好指定NetConnection的client為此類別,然後新增一個onBWDone的函式了Orz
接下來是程式碼──
import flash.display.*;
import flash.events.NetStatusEvent;
import flash.events.MouseEvent;
import flash.media.Video;
import flash.media.Camera;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.net.ObjectEncoding;
public class _makeMovie extends MovieClip{
var ns:NetStream;
var myvideo:Video;
var mycam:Camera;
var nc:NetConnection;
function _makeMovie() {
var sw:Number = 640;
myvideo = new Video(sw,sw*3/4);
mycam = Camera.getCamera();
nc = new NetConnection();
mycam.setMode(sw,sw*3/4, 25);
mycam.setQuality(0, 10); //設定品質
myvideo.attachCamera(mycam); //畫面顯示
addChildAt(myvideo,0);
nc.objectEncoding=ObjectEncoding.AMF0; //伺服器編碼FMS要用AMF0
nc.client = this;
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); //錯誤訊息的處理
nc.connect("rtmfp://localhost/live"); //會開啟伺服器的連線。
Record_btn.addEventListener(MouseEvent.CLICK,recordevent); //錄影按鈕
stop_btn.addEventListener(MouseEvent.CLICK,stopevent); //結束按鈕
}
function playStreamVideo():void { //確認連線否
trace("連線");
ns=new NetStream(nc);
//ns.addEventListener(NetStatusEvent.NET_STATUS, playStatusHandler);
ns.client=this;
ns.attachCamera(mycam);//畫面串流
}
function recordevent(e:MouseEvent):void {
ns.publish("test","record");
}
function stopevent(e:MouseEvent):void {
ns.close();
}
function netStatusHandler(event:NetStatusEvent):void {
trace(event.info.code);
if(event.info.code == "NetConnection.Connect.Success") //連線成功
playStreamVideo(); //播放
}
public function onBWDone():void{}
}
http://jiucengtianshang.blog.163.com/blog/static/6768306720112200492347/ 可以參考這個 就不用FMS了
回覆刪除生成SWF嗎?確實是個好方法呢OuO!!
回覆刪除感激提供!