在WinForms应用程序中嵌入视频

时间:2008-12-01 20:38:35

标签: c# winforms video

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

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

我是否使用DirectX执行此操作? MCI?还是其他一些方法?

5 个答案:

答案 0 :(得分:5)

您可以在Winform中使用Media Player。这将是一种简单的方法。

答案 1 :(得分:3)

我强烈推荐这个库:

http://directshownet.sourceforge.net/

它是DirectShow API的.NET包装器。

(示例应用程序可以让您快速前进。)

- 布鲁斯

答案 2 :(得分:3)

我做的方式是,我引用:

  

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

     

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

     

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

     

Windows Media Player控件显示在当前的“工具箱”选项卡上。

     

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

     

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

     

将Windows Media Player控件从“工具箱”拖动到Windows   形式。

     

在“属性”窗口中,将Dock属性设置为“填充”。你可以做   点击中心广场。

     

双击表单的标题栏以添加默认的Load事件   在代码编辑器中。

     

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

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

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

答案 3 :(得分:0)

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

答案 4 :(得分:-1)

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

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