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

时间:2012-12-25 05:23:49

标签: wpf video

我正在使用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 Framework API或允许我通过传入流引用来播放视频的第三方API?

2 个答案:

答案 0 :(得分:0)

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

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

请注意,通过引用MediaPlayer类,我并不是说这是最强大的库,但它在过去遇到了我的用例,并且很容易与应用程序集成。

答案 1 :(得分:0)

DirectX有一些播放自定义流的方法,但我不知道细节。此外,我们为您的使用场景提供SolFS操作系统版本 - 您可以拥有一个带操作系统版本的虚拟磁盘并从那里进行播放(磁盘访问可以仅限于您的应用程序和播放器以确保安全性)。