1

我有一个使用 EDSDK v2.13 的命令行应用程序。

但是,当我注册回调时,会出现一系列属性事件,然后什么也没有。

我已经纠正了这个循环,如下所示:

while(!_kbhit())
{
  EdsOpenSession(camera);
  Sleep(10);
  EdsCloseSession(camera);
}

这看起来非常笨拙。SDK 坏了,还是我遗漏了什么?

4

2 回答 2

2

如果您在 Windows 上使用 EDSDK,您的主线程中必须有一个 Windows 消息循环,否则不会发生回调。(这是因为 EDSDK 使用过时的 COM STA 线程模型而不是真正的线程。)

于 2013-09-04T22:28:51.867 回答
0

佳能 EDSDK 停留在 90 年代,使用起来很糟糕。在玩了几天之后,它似乎没有尼康那么复杂。

这些公司应该在他们所有的相机上实现一个基于 http 的 API,就像索尼正在做的那样。

于 2015-02-27T02:44:33.637 回答