12

我需要能够使用 C# 在 WinForms 应用程序中嵌入和控制 AVI 文件的播放。视频需要嵌入到表单中,而不是在单独的媒体播放器窗口中启动。

这样做的最佳方法是什么?我找到了 System.Media 命名空间,这听起来很有希望,但似乎只对声音有用。

我是否使用 DirectX 来执行此操作?微信?还是其他方法?

4

5 回答 5

8

您可以在 Winform中使用媒体播放器。这将是一个简单的方法。

于 2008-12-01T20:41:55.210 回答
5

我这样做的方式是,我引用:

右键单击工具箱,然后单击选择项目。

注意:如果您没有看到工具箱,请单击视图菜单上的工具箱将其打开。“自定义工具箱项目”对话框打开。

在 COM 组件选项卡上,选中 Windows Media Player 复选框,然后单击确定。

Windows Media Player 控件出现在当前的工具箱选项卡上。

当您将 Windows Media Player 控件添加到工具箱时,Visual Studio 会自动添加对两个库的引用:AxWMPLib 和 WMPLib。下一步是将控件添加到 Windows 窗体。

将 Windows Media Player 控件添加到 Windows 窗体

将 Windows Media Player 控件从工具箱拖到 Windows 窗体。

在“属性”窗口中,将 Dock 属性设置为 Fill。您可以通过单击中心方块来执行此操作。

双击窗体的标题栏,在代码编辑器中添加默认的 Load 事件。

将以下代码添加到 Form_Load 事件处理程序以在应用程序打开时加载视频。

axWindowsMediaPlayer1.URL = 
    @"http://go.microsoft.com/fwlink/?LinkId=95772";

http://msdn.microsoft.com/en-us/library/bb383953(v=vs.90).aspx

于 2012-05-23T22:15:37.123 回答
4

我强烈推荐这个库:

http://directshownet.sourceforge.net/

它是 DirectShow API 的 .NET 包装器。

(示例应用程序应该让您快速上手。)

——布鲁斯

于 2008-12-01T21:00:09.230 回答
0

DaokBrian Genisio的建议都是不错的选择。让我添加第三个:DirectShow。曾经是 DirectX 的一部分,但现在已升级为 Windows SDK。有许多不错的 C# 示例应用程序可供查看,并且可以完全控制播放。

于 2008-12-01T20:55:38.537 回答
-1

我会考虑使用 WPF 媒体控件,只需使用 ElementHost 将您的 WPF 控件放入您的 WinForms 应用程序中。我想你会得到更丰富的体验。

有关详细信息,请参阅System.Windows.Forms.Integration

于 2008-12-01T20:45:41.240 回答