c++ - EDSDK 3.4.0 on OS X 10.12.1 with Rebel t6i : `kEdsObjectEvent_DirItemCreated` event is not received for up to 30 seconds after photo is taken

标签 c++ c macos camera edsdk

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

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

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

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

注意:我们目前正在构建 64 位版本,但目前正在尝试同时运行 32 位版本,看看是否有任何改进。

  • EDSDK v3.4.0
  • OS X 10.12.1
  • 64 位
  • 叛军 T6i

最佳答案

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

关于c++ - EDSDK 3.4.0 on OS X 10.12.1 with Rebel t6i : `kEdsObjectEvent_DirItemCreated` event is not received for up to 30 seconds after photo is taken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42626402/

相关文章:

c - accept() block (挂起连接时)

c++ - 此代码是否访问 C++ 类中的关联数组?

通过分而治之检查所有元素是否相同

c++ - 将整数转换为信号代码中的函数指针 - 为什么这样做有效?

c++ - 在C和C++中 “pass by reference”之间到底有什么区别?

c - C、Xcode 中的链接器错误。链接目标文件 (.o) 失败。不知道如何在 Xcode 中包含 makefile

在 C 中捕获段错误

c - 使用 ASL 登录到 console.app

c++ - 具有自定义哈希函数 (_bstr_t) 的无序映射仅适用于默认构造函数(重复键)

c++ - 我怎样才能使这种模式根据需要重复多次而不使其过度嵌套?