我正在使用 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/