【问题标题】:Exception with source filter in DirectShow (0x80040241)DirectShow 中的源过滤器异常 (0x80040241)
【发布时间】:2013-11-20 11:31:12
【问题描述】:
var m_FilterGraph = (IFilterGraph2)new FilterGraph();
int hr = m_FilterGraph.AddSourceFilter(file, "Ds.NET FileFilter", out capFilter);

当我的项目是 x64 时,它会抛出 System.Runtime.InteropServices.COMException (0x80040241):无法加载此文件的源过滤器。使用 x86 一切正常。

这是 c# 代码,但问题存在于我必须构建 ds 图的每个 x64 应用程序中。 例子: https://code.google.com/p/graph-studio-next/ http://www.codeproject.com/Articles/21105/DSGraphEdit-A-Reasonable-Facsimile-of-Microsoft-s

当我手动构建图形时(例如,文件源异步 -> LavSplitter -> 一些解码器 -> 增强的视频渲染)它正在工作。 所以这是系统问题而不是代码问题,但是我拥有的 x64 视频播放器工作正常,所以我不知道......也许有人知道可能出了什么问题?

【问题讨论】:

    标签: 64-bit 32bit-64bit directshow directshow.net source-filter


    【解决方案1】:

    32 位和 64 位环境有自己的一组过滤器。它们从类似的库存过滤器开始,然后您为 32 位、64 位或两者安装额外的过滤器。当您安装了 32 位过滤器并且没有相应的 64 位过滤器时,您就会遇到问题描述的情况:Win32 工作正常,x64 不工作。安装缺少的 64 位过滤器以解决问题。

    【讨论】:

    • 我可以检查一下需要哪些过滤器吗?因为正如我所说,我能够制作正确的图形来播放文件 - 手动......只有当我要求自动构建图形时才会出现问题......
    • 您当然可以使用 64 位版本的 GraphEdit 或类似版本进行检查。
    • 手动64位图:i.imgur.com/zA5U7t4.png,打开媒体文件的64位图:i.imgur.com/FT3C5xf.png。那么我如何检查为什么这不起作用?
    • 您可以按照自己喜欢的方式手动构建图表。过滤器应该自动注册自己以正确宣传其功能。显然,这里不是这种情况。我希望这里的 LAV 过滤器中缺少某些东西。
    • hm 一切都在我的笔记本电脑上运行,即使使用 lav 过滤器和 x64 ......但在我的桌面上我仍然有这个错误。我正在手动比较现在安装的过滤器,在我看来它们很相似:/
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多