如何在WPF应用程序中播放System.IO.Stream的MP4视频



我正在用c#开发一个基于WPF的应用程序,我想从System.IO.Stream派生的流源中播放h.264/aac编码的mp4文件。

我可以直接从本地文件和URL源播放视频,但我还需要从来自System.IO.Stream的数据源播放视频。具体来说,我使用的是Eldos的一个名为Solid File System (http://eldos.com/solfs/)的产品,它允许您在单个文件中创建虚拟文件系统。为了访问存储在SolidFS文件中的数据,他们提供了派生自System.IO.Stream的SolFSStream。

有没有人知道。net框架API,或第三方API,将允许我通过传递流引用来播放视频?

我的偏好是将文件复制到应用程序可以访问的临时目录,然后使用简单使用和健壮的库来播放文件,例如http://msdn.microsoft.com/en-us/library/system.windows.media.mediaplayer.aspx

我的理由是,支持流可能不是选择第三方库播放mp4文件的最佳标准。您需要确保库是健壮的,并且易于与现有应用程序集成。

请注意,通过引用MediaPlayer类,我并不是说这是最健壮的库,但它在过去已经满足了我的用例,并且很容易与应用程序集成。

DirectX有一些方法来播放自定义流,但我不知道细节。此外,我们还提供了OS版的SolFS供您使用——您可以拥有一个带有OS版的虚拟磁盘,并在其中进行游戏(出于安全考虑,磁盘访问可以限制为只有您的应用程序和播放器可以访问)。

最新更新