我需要能够使用C#在WinForms应用程序中嵌入和控制AVI文件的播放。视频需要嵌入到表单中,而不是在单独的媒体播放器窗口中启动。
这样做的最佳方法是什么?我找到了System.Media命名空间,听起来很有希望,但它似乎只对声音很有用。
我是否使用DirectX执行此操作? MCI?还是其他一些方法?
答案 0 :(得分:5)
您可以在Winform中使用Media Player。这将是一种简单的方法。
答案 1 :(得分:3)
答案 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)
来自Daok和Brian Genisio的建议都是不错的选择。让我添加第三个:DirectShow。曾经是DirectX的一部分,但现在已经升级到Windows SDK。有许多好的C#示例应用程序可供查看,它可以完全控制播放。
答案 4 :(得分:-1)
我考虑使用WPF媒体控件,只需使用ElementHost将您的WPF控件放入WinForms应用程序中。我想你会得到更丰富的经验。
有关详细信息,请参阅System.Windows.Forms.Integration