首页 文章

在Directshow中查找视频捕获源时参数不正确

提问于
浏览
1

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

在使用Directshow Filter Manager进行检查时,我收到以下错误:

参数不正确 . 范围:[CDENum.CreateClassEnumerator({860BB310-5D01-11d0-BD3B-00A0C911CE86})] .

造成这种情况的可能原因是什么,在设备管理器下找到摄像头,而不是由Directshow找到?以及如何解决这个问题?

1 回答

  • 2

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

相关问题