我有Adobe Media Server 4,並且我正在使用Flash Professional CS5.5創建流媒體應用程序。 對於測試,我使用默認的Adobe頁面,您可以在其中插入流器URL和流名稱以連接到流源,以供概覽。 它就是在開始時的頁面,你有兩個視頻塊,留下一個廣播,右一個看到流。設置Flash流媒體服務器
下面是AS3代碼:
var bandwidth:int = 0;
var quality:int = 50;
var camera:Camera = Camera.getCamera();
camera.setQuality(bandwidth, quality);
camera.setMode(430,320,15, true);
var video:Video = new Video();
video.attachCamera(camera);
addChild(video);
video.width = 430;
video.height = 320;
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://***");
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
function netStatusHandler(event:NetStatusEvent):void{
if (event.info.code == "NetConnection.Connect.Success")
{
label10.text = 'Connected';
var ns:NetStream = new NetStream(nc);
ns.attachCamera(camera);
ns.publish("NewStream1", "live");
}
}
當我運行這個文件,我得到label10「已連接」,這意味着它連接到服務器的RTMP鏈接。
當我在Adobe默認頁面中插入這個特定的rtmp鏈接和NewStream1(來自ns.publish(「NewStream1」,「live」);)時,它不起作用...它連接,但它只顯示空白黑盒子。
當我使用默認頁面進行流媒體播放時,它的效果非常好。
有人可以幫助我,告訴我我做錯了什麼?
謝謝。
編輯:
而且,奇怪的事情發生時,我刪除
video.attachCamera(camera);
還有線時相機安裝到流光
ns.attachCamera(camera);
但光相機,即簽約該相機是活動的,它打開1-2秒,它關閉...所以相機不使用後...... 所以這可能是一個NetStreaming對象的問題,因爲它拒絕相機...
問題那是var ns:NetStream = new NetStream(nc); 需要在函數定義的外部...由於這種方式是函數變量,並且在函數結束後它被「終止」。 – SharkTheDark