2015-12-16 40 views
0

我使用代码从这个wiki http://docwiki.embarcadero.com/RADStudio/XE8/en/Video_Capturing德尔福FireMonkey TCaptureDeviceManager.Current.GetDevicesByMediaType(TMediaType.Video)总是返回空列表

TCaptureDeviceManager.Current.GetDevicesByMediaType(TMediaType.Video); 

始终返回空列表(我有摄像头连接和其他应用程序看到它)。 谷歌搜索没有给我任何回应。

你能告诉我什么可能导致这个问题,因为这个组件对我的项目很重要。

+0

Windows开发? –

回答

0

视频捕获设备是VideoForWindows(unlikey,因为这是古老的,自从超过)或DirectShow(即:没有内核驱动程序)依赖于用户模式DLL。如果你有这样的设备,并且正在编译32/64位,并且没有匹配的DLL,那么设备将不会在枚举中返回。

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

+0

感谢您的快速回复。但改变目标平台对我没有任何影响:( – stshp

+0

尝试使用很多不同的网络摄像机,你的用户将会有不同的网络摄像机,所以你现在可以得到几个,看看他们并不是都一样我在这里讲经验。 – nolaspeaker