【问题标题】:The parameter is incorrect while finding video capture sources in Directshow在 Directshow 中查找视频捕获源时参数不正确
【发布时间】:2017-05-08 04:58:18
【问题描述】:

通过使用 Directshow.NET,我开发了一个 C# 应用程序,一切都很好,但在某些机器上,我无法通过代码 DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice) 找到视频捕获源(相机)。这行代码生成异常The parameter is incorrect.。我也检查了 GraphStudio,但Video capture sources 下没有列出任何摄像头,但我可以在Device Manager 中看到附加的摄像头。

在使用 Directshow 过滤器管理器进行检查时,我收到以下错误:

参数不正确。

范围:[CDENum.CreateClassEnumerator({860BB310-5D01-11d0-BD3B-00A0C911CE86})]。

这可能是什么原因,在设备管理器下找到相机但在 Directshow 中没有找到?以及如何解决这个问题?

【问题讨论】:

    标签: directshow directshow.net


    【解决方案1】:

    相机的驱动程序(WDM 或用户模式驱动程序)可能存在某些问题,这会阻止使用 DirectShow 进行正常的设备枚举。或者有可能有另一个故障设备/相机触发枚举时出现意外问题。枚举本身不会以这种方式失败(它是expected to return S_FALSE,当首先没有找到设备时),因此您很可能需要识别此特定系统中安装的故障组件,并修复它以恢复类枚举器操作.首先要做的是重新安装相关视频设备的驱动程序/软件。

    【讨论】:

    • 我也重新安装了图形驱动程序和摄像头驱动程序,但问题仍未解决,但有趣的是,如果我们拔下摄像头,那么当我们检查插入系统的摄像头数量时也会发生异常。这意味着无论相机是否连接到系统,都会发生此异常。
    • 我猜只有最后一个选项是“格式化操作系统”,是吗? :(
    • 当它按预期工作时众所周知。当它坏了 - 它可能在很多方面都坏了。大概应该有视频捕获设备的某些剩余部分,这些剩余部分由枚举器拾取但将其破坏,以便将故障转发给您的应用程序。尽管它可能会被修复,但恐怕没有关于具体做什么的分步说明。
    • 好的。谢谢(你的)信息。我会试试的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多