我想在我的应用程序中使用数码相机(运行在Windows上,用C++编写),我遇到了两个这样做的库- WIA (Windows图像采集)和WPD (Windows便携设备)。WIA仅支持Windows XP及以下版本的数码相机,而Vista和7则应使用WPD。问题是,我从Windows SDK运行了WPD的示例项目,它无法识别我尝试过的所有设备(但WIA在Win XP机器上做到了),除了闪存和mp3播放器。我不认为其他设备太旧,没有WPD驱动程序,所以我的问题是: WPD支持哪些设备?是我弄错了,还是WPD在很多设备上都不能工作?或者我可以使用另一个库来拍摄照片(可能是视频,但这不是那么重要)?
我希望有人能把事情弄清楚。提前感谢!
发布于 2011-12-13 20:06:44
你需要在Vista/Win7上使用DirectShow来处理你的摄像头。罗技等公司不提供WPD驱动程序。也许在Windows8上也是如此。
如果你想走老路,你也可以使用MCI接口,现在它只是DirectShow之上的一个兼容层。在谷歌上搜索"WM_CAP_START“或"WM_CAP_GRAB_FRAME”可以找到一些例子。
发布于 2013-07-19 04:45:44
没有WPD的列表,但这里有一个:
受支持的Windows Image Acquisition (WIA)扫描仪和相机列表http://support.microsoft.com/kb/264598
https://stackoverflow.com/questions/6011022
复制相似问题