2012-12-25 126 views
2

我正在開發一個基於WPF的應用程序在C#中,我想播放從System.IO.Stream派生流源h.264/aac編碼mp4文件。如何從WPF應用程序中的System.IO.Stream播放MP4視頻?

我可以直接從本地文件和URL源播放視頻,但我也需要從源自System.IO.Stream的數據源播放視頻。具體來說,我使用的是Eldos的產品,名爲Solid File System(http://eldos.com/solfs/),它允許您在單個文件內創建虛擬文件系統。要訪問存儲在SolidFS文件中的數據,他們提供從System.IO.Stream派生的SolFSStream。

有誰知道一個.NET Framework API,或第三方的API,讓我通過傳遞流參考播放視頻的?

回答

0

我的選擇是將文件複製到該應用程序可以訪問一個臨時目錄,然後使用一個簡單易用和強大的庫來播放該文件如http://msdn.microsoft.com/en-us/library/system.windows.media.mediaplayer.aspx

我的推理將是支持流可能不成爲選擇第三方庫播放mp4文件的最佳選擇。您需要確保該庫功能強大且易於與現有應用程序集成。

請注意,參照的MediaPlayer類我並不是說這是最強大的庫,但它在過去已經滿足我的使用情況,並很容易與應用程序集成。

+0

感謝您的輸入,但對視頻輸出複製到一個臨時文件夾是不是一個範圍的安全考慮的選項。另外,誰願意在文件開始播放前等待3.7GB的文件被複制。 –

+0

嘿羅布,我們有類似的要求。你有沒有找到一個解決方案來從流中播放mp4? – Kartik

0

DirectX有一些方法來播放自定義流,但我不知道細節。此外,我們爲您的使用場景提供SolFS操作系統版本 - 您可以擁有帶有操作系統版本的虛擬磁盤並從那裏播放(並且磁盤訪問權限僅限於您的應用程序和播放器的安全性)。