有一种简单的方法在Windows窗体上播放AVI视频吗?

时间:2011-05-03 21:00:04

标签: c# .net winforms video

我正在使用C#编写一个小应用程序,我想在Windows窗体上播放标准的XVID / AVI视频。是否有捷径可寻?我见过的唯一例子是Managed DirectX,不再受支持。

在没有依赖关系的情况下执行此操作会很好,因为我希望将exe作为独立版本发布。任何想法从哪里开始?

2 个答案:

答案 0 :(得分:2)

是的,在表单上放一个WindowsMediaPlayer并将其传递给该文件。确保计算机上安装了DirectShowFilter。

此外,如果你找不到过滤器,你可以使用VLC api播放任何你想要的格式。

更新

你不禁在这里有依赖。但是,这并不意味着您必须部署多个可执行文件。在您的解决方案中,项目中的任何.dll都将打包到您的安装程序中,以便您部署的所有内容都是单个.msi文件。为此,您需要向解决方案添加安装项目。 Windows媒体播放器是直接显示的COM对象,所以即使在那里你也将使用com包装器dll文件。 VLC使用win32 .dll,因此您必须使用平台调用并将程序集放在bin文件夹中。无论如何,所有必要的文件都将打包到您的安装程序中,因此部署不会成为问题。

答案 1 :(得分:2)

可能最简单的方法是embed Windows Media Player进入播放视频的表单。

请记住,除非首先安装正确的解码器,否则客户端需要Windows Vista或Windows 7才能支持XVID。