2011-09-01 144 views
1

我有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對象的問題,因爲它拒絕相機...

+0

問題那是var ns:NetStream = new NetStream(nc); 需要在函數定義的外部...由於這種方式是函數變量,並且在函數結束後它被「終止」。 – SharkTheDark

回答

3

問題是

var ns:NetStream = new NetStream(nc); 

需要定義的功能之外......因爲這樣它的函數的變量,它的「封殺」功能後結束...