c# - 有没有一种在 Windows 窗体上播放 AVI 视频的简单方法?

标签 c# .net winforms video

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

在没有依赖项的情况下执行此操作会很好,因为我想将 exe 作为独立文件发布。有什么想法可以从哪里开始吗?

最佳答案

是的,将 WindowsMediaPlayer 放在窗体上并将文件传递给它。确保机器上安装了 DirectShowFilter。

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

更新:

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

关于c# - 有没有一种在 Windows 窗体上播放 AVI 视频的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5875662/

相关文章:

c# - 将字符串从 C# 传递到 C++ .dll 会扰乱数据

c# - 具有自引用功能的 Fluent NHibernate 自动映射

c# - 如何在图像上引入叠加层

.net - codecampserver 中的 StaticFactory<T> 是众所周知的模式吗?

c# - 如何在 Windows 窗体/Window Mobile 应用程序中调整动态控件的大小?

c# - 来自 Panel 及其子控件的 MouseEnter 和 MouseLeave 事件

c# - 是否可以在 Visual Studio Express 版本中将 Entity Framework 与 MySQL 一起使用?

c# - 将对象设置为 null 与 Dispose()

java - 如何在图像(.jpeg)中创建二叉树

c# - 文本框中是否有选择文本事件