2

我正在使用佳能 SDK 2.1,我正在尝试从 C# 代码对相机拍照。我开始了一个会话(EdsOpenSession),这行代码一切正常:

EDSDK.EdsSendCommand(cameraDev, EDSDK.CameraCommand_TakePicture, 0);

相机拍摄一张照片并将其存储在存储卡上。

问题就在这里:如果出现自动对焦错误(例如镜头盖打开),相机就会“忙”并且永远不会回来。

此外,如果我尝试使用 EdsCloseSession 或 EdsTerminateSDK 功能关闭 EDSDK,它们会阻塞。重新启动它的唯一方法是重新启动应用程序和相机。我正在使用 EOS 100D。

我该怎么做才能忽略这些 AF 错误并尝试拍摄另一张照片?

4

2 回答 2

3

我也刚遇到这个问题。

我已经通过发送半按钮按下对焦然后按下全按钮拍摄照片(如果成功)来解决它。

try
{
    EDSDK.EdsSendCommand(cameraDev, EDSDK.CameraCommand_PressShutterButton, 1); // Half
    EDSDK.EdsSendCommand(cameraDev, EDSDK.CameraCommand_PressShutterButton, 3); // Completely
}
finally
{
    EDSDK.EdsSendCommand(cameraDev, EDSDK.CameraCommand_PressShutterButton, 0); // Off
}
于 2014-08-05T12:42:38.087 回答
0

我对佳能 EOS 1100D 也有同样的问题,但我发现http://digicamcontrol.com是开源的。他们已经设法使自动对焦工作,但我还没有找到他们到底做了什么。也许你能找到它。如果你这样做,请分享解决方案。

于 2013-12-04T22:52:24.567 回答