2012-01-18 104 views
0

我需要使用瀏覽器中的Flash對象從麥克風捕捉音頻,並實時流式傳輸到Flash Media Server。 Flash Media Server將反過來將音頻直播給用戶。我必須使用Flash Media Encoder嗎?

我是否必須使用Flash Media Encoder來捕捉音頻?是否可以在不需要安裝Flash Media Encoder的情況下捕獲音頻並以某種方式將其流式傳輸到Flash Media Server?

我完全是Flash的新手,所以任何答案都歡迎!

我看到這個鏈接: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html

•Call NetStream.play() to play a media file from a local disk, a web server, or Flash Media Server. 
•Call NetStream.publish() to publish a video, audio, and data stream to Flash Media Server. 
•Call NetStream.send() to send data messages to all subscribed clients. 
•Call NetStream.send() to add metadata to a live stream. 
•Call NetStream.appendBytes() to pass ByteArray data into the NetStream. 

這些是什麼功能呢?我可以從SWF內部調用這些內容,還是需要Flash Media Encoder?

回答

0

Flash Media Encoder是一種「資產編譯器」或「代碼轉換器」,換句話說,就是將SWF與SWF使用的媒體資源進行打包所需的程序。例如,它將多種視頻格式轉換爲FLV(SWF稍後可以使用該格式)。

您可能完全不需要它,或者根據您選擇編譯SWF的工具,您可能需要它進行開發(例如,將媒體資源嵌入到您創建的程序中)。

很多時候,其他庫被用來進行編碼/解碼。例如,要將大量視頻格式編碼爲FLV,您可以使用ffmpeg。

Flash播放器帶有一組編碼器,可以讓您捕捉和編碼視頻,以便以後可以發送視頻,以及一組解碼器,可以從某些格式讀取視頻或音頻,以便能夠顯示它玩家。

您發佈的鏈接來自ActionScript 3語言參考。 ActionScript是一種主要用於在Flash Player環境中運行的編程語言。 Flash Player環境(又名虛擬機或AVM)是一組庫,您可以在將該文件加載到播放器中時通過從SWF文件調用其API來訪問這些庫。 AVM API沒有單獨的文檔,但AS3和AVM緊密連接,因此可以將語言API視爲與AVM API相同。所以,回答你的問題:這些函數在AVM中暴露了API,它們可以通過創建NetStream類型的對象(這是AVM中暴露的另一個API)訪問。您不需要Flash Media Encoder來調用這些API。但是,您需要編譯器才能創建SWF文件(存在多個選項,來自不同開發人員的不同許可證)。

+0

謝謝! 我找到了這個鏈接,它顯示瞭如何使用麥克風: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Microphone.html – realPro 2012-01-18 10:44:32

相關問題