【问题标题】:Delphi FireMonkey TCaptureDeviceManager.Current.GetDevicesByMediaType(TMediaType.Video) always returns empty listDelphi FireMonkey TCaptureDeviceManager.Current.GetDevicesByMediaType(TMediaType.Video) 总是返回空列表
【发布时间】:2015-12-16 15:57:40
【问题描述】:

我正在使用此 wiki 中的代码 http://docwiki.embarcadero.com/RADStudio/XE8/en/Video_Capturing

但是

TCaptureDeviceManager.Current.GetDevicesByMediaType(TMediaType.Video);

总是返回空列表(我连接了网络摄像头,其他应用程序可以看到它)。 谷歌搜索没有给我任何回应。

您能否告诉我可能导致此问题的原因,因为该组件对我的项目至关重要。

【问题讨论】:

  • Windows 开发?

标签: delphi firemonkey


【解决方案1】:

VideoForWindows(不像这是古老且早已被取代)或 DirectShow(即:没有内核驱动程序)的视频捕获设备依赖于用户模式 ​​DLL。如果您有这样的设备并且正在为 32/64 位编译并且没有要匹配的 DLL,那么这些设备将不会在枚举中返回。

如果系统上有其他软件可以检测到设备,那么在 32/64 位之间切换目标平台可能会显示设备。如果是这种情况,则您没有与平台目标的位数匹配的设备驱动程序。解决方案是更改构建目标,从制造商那里找到合适的驱动程序,或者选择不同的网络摄像头。

【讨论】:

  • 感谢您的快速回复。但是更改目标平台对我没有任何影响:(
  • 尝试使用许多不同的网络摄像头。您的用户将拥有不同的用户,因此您不妨现在获得一些用户,看看他们的行为方式不尽相同。我在这里说的是经验。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-03
  • 1970-01-01
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 2023-02-03
相关资源
最近更新 更多