【问题标题】:How do I create a Video Player for .Net 4.0?如何为 .Net 4.0 创建视频播放器?
【发布时间】:2011-11-19 08:41:08
【问题描述】:

我正在编写一个基本的视频播放器程序。我在网上找到了this 教程,这正是我正在寻找的那种帮助——除了该教程是为.net 2.0 编写的。

这意味着,例如,当我最初尝试运行已完成的程序时,我遇到了与 this question 相同的运行时错误。我根据接受的答案修复了这个问题,但现在我得到了一个 new 错误:

DLL 'C:\Windows\assembly\GAC\Microsoft.DirectX\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.dll' 正在尝试在 OS Loader 锁内进行托管执行。不要试 在 DllMain 或图像初始化函数中运行托管代码 因为这样做会导致应用程序挂起。

有没有办法将本教程代码更新为适用于 .net 4.0 的内容?还是我最好还是找一个更新的新教程?

【问题讨论】:

    标签: c# .net-4.0


    【解决方案1】:

    我建议使用包含 FFMPEG 库的 AForge.NET,这样您就可以在 C# 中处理多种视频文件。不要使用 DirecX,使用 http://www.aforgenet.com/framework/downloads.html 使用此框架视频播放器构建非常简单,您不会浪费时间。

    【讨论】:

      【解决方案2】:

      过时的托管 DirectX 包装器确实会生成此警告。这是一个错误警告,CLR 已经加载。 Debug + Exceptions,展开 Managed Debugging Assistants 节点并取消勾选 LoaderLock。

      【讨论】:

      • 有没有更好的方法来做到这一点,使用非过时的包装器?
      • 呃,当然,您可以将对 Windows Media Player 的 COM 引用添加到您的工具箱中,然后将其拖放到表单上。它可以很好地播放视频,只需几分钟即可开始播放。只要您安装了正确的 DS 过滤器,DirectShow.NET 也可以很好地工作。但听起来你正试图以不无聊的方式来做这件事。
      猜你喜欢
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 2022-07-07
      • 1970-01-01
      • 2013-08-15
      相关资源
      最近更新 更多