当使用3.4.0版的EDSDK与Rebel T6i拍照时,在调用EdsSendCommand(camera, kEdsCameraCommand_TakePicture, 0);以接收相应的kEdsObjectEvent_DirItemCreated后,可能需要2到30秒的任何时间,这表明图像已准备好从相机下载。请注意,相机本身会拍摄照片,并且在发送TakePicture命令后闪光灯几乎立即熄灭-只是kEdsObjectEvent_DirItemCreated事件被延迟了看似随机的大量时间。

连接第二台Rebel T6i时,即使仅使用其中一台相机拍照,延迟也会变得更长且更频繁。当两个摄像机都从单独的应用程序运行时,甚至会发生这种情况。

我们希望将这两个相机都用作安装的一部分,该安装要求我们能够在调用EdsSendCommand(camera, kEdsCameraCommand_TakePicture, 0)后最多5秒内从相机下载每张照片。

如果有人对为什么会出现如此大的延迟有任何想法,或者对如何解决它有任何其他建议,我们将不胜感激!

注意:我们目前正在构建64位版本,但目前正在尝试使32位版本同时运行,以查看是否可以改善任何情况。

  • EDSDK v3.4.0
  • OS X 10.12.1
  • 64位
  • Rebel T6i
  • 最佳答案

    不使用实时取景将解决此问题。您需要直接将图像下载到计算机,而不是先保存到SD卡。如果插入了其他任何使用实时模式的摄像机,那么不幸的是您将继续遇到上述问题。

    关于c++ - 带有Rebel t6i的OS X 10.12.1上的EDSDK 3.4.0:拍照后最多30秒钟未收到 `kEdsObjectEvent_DirItemCreated`事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42626402/

    10-10 16:13