佳能 EDSDK 2.12+ kEdsPropID_BodyIDEx 已禁用

Canon EDSDK 2.12+ kEdsPropID_BodyIDEx disabled

从 2.12 版开始 - 佳能 EDSDK 似乎不再支持通过 kEdsPropID_BodyIDEx 从连接的相机获取相机序列号。这意味着无法分辨哪个物理相机是哪个。

例如,如果您想连接到 2 个摄像头并为摄像头 1 设置设置 1,为摄像头 2 设置设置 2,您无法从应用程序内部知道哪个摄像头是摄像头 1,哪个是摄像头 2,因此无法知道每个相机应用哪些设置。

如果说摄像头 1 位于黑暗的房间而摄像头 2 位于明亮的房间并且您想对每个应用特定设置,这似乎是一件合理的事情?

我确实看到了这个 post: Canon SDK: Download latest picture taken by two devices to host

除非我误解了什么,这可以让您在连接后区分应用程序内的摄像头,但不会让您区分物理摄像头。

有人找到解决此问题的方法吗?

干杯!

在这里使用 2.15 和 BodyIDEx 工作正常。您确定将其用作字符串而不是 uint 吗?

除此之外,至少还有两种方法可以区分相机,甚至无需打开会话。

  • 可以通过 EdsGetDeviceInfo 获取的端口名称
  • 相机对象的指针值

这两个替代值仅在您 运行 软件时有效。一旦您重新启动或在其他地方插入相机,这些值就会改变。