【问题标题】:Embedding Video in a WinForms app在 WinForms 应用程序中嵌入视频
【发布时间】:2020-08-25 07:03:03
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# winforms video


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      当您将 Windows Media Player 控件添加到工具箱时,Visual Studio 自动添加对两个库的引用:AxWMPLib 和 WMP 库。下一步是将控件添加到 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

      【讨论】:

        【解决方案3】:

        我强烈推荐这个库:

        http://directshownet.sourceforge.net/

        它是 DirectShow API 的 .NET 包装器。

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

        --布鲁斯

        【讨论】:

        • 谢谢。你可能也回答了这个问题:stackoverflow.com/questions/2464613/…
        • 你用过这个吗?看起来示例应用程序可以满足我的需要,但 DirectShow.NET 的示例应用程序对我来说没有多大意义。我可以运行它并播放一个文件,它会自动循环播放,但这一切都是在内部完成的,我找不到任何方法来修改它以连续播放多个文件。
        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          更多信息请参见System.Windows.Forms.Integration

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-06-08
            • 2023-03-11
            • 2011-07-22
            • 2013-09-23
            • 2013-07-28
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多