繁体   English   中英

佳能EDSDK命令TakePicture聚焦错误后会阻止所有内容

[英]Canon EDSDK Command TakePicture blocks everything after focus error

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

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

相机拍摄照片并将其存储在存储卡中。

问题出在这里:如果出现自动对焦错误(例如,镜头盖已打开),则相机将变得“忙碌”,并且永不退缩。

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

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

我也有这个问题。

我解决了这个问题,方法是先按半键对焦,再按全键拍照,如果成功的话。

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
}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM