有没有确定的方法来以编程方式区分多个摄像机?
我枚举CLSID_VideoInputDeviceCategory,然后在每个IMoniker上获取GetDisplayName。我发现,将某些摄像机插入不同的USB插座会返回不同的唯一ID,也就是说,同一程序插入不同的插座被我的程序视为在不同时间连接的多个摄像机。插入不同USB插座的其他摄像机使用相同的GetDisplayName标识。最重要的是,我有两个相同的摄像机(Microsoft LifeCam HD-3000),当我将不同的硬件插入同一插槽时,我无法分辨出插入了哪个硬件。
因此,如果我将多个相同的相机插入同一USB端口,是否有办法真正分辨出它们之间的区别?以及相关的反向问题:将同一个摄像机插入不同的USB插座时,如何才能为同一个摄像机设置ID?
最佳答案
根据USB设备序列号的可用性,将其重新插入不同的端口将为您提供相同或不同的名字显示名称。绰号仍然是您最好的显示名称。在此处查看有关此主题的更多信息:How to identify a video device correctly?。
关于winapi - 唯一区分多个摄像机[dshow,directx,win32api],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11804978/