在 EDSDK 中,如果在应用程序重新启动并重新连接到设备时图像传输过程中发生错误(即连接丢失、应用程序错误......),则无法拍摄新照片,因为 EdsSendCommand(hdev,kEdsCameraCommand_TakePicture,0) 总是返回 EDS_ERR_DEVICE_BUSY .
这是因为即使我关闭相机,以前的图像数据也在相机内存中。唯一的解决办法就是把电池关掉!!!有没有人有更好的解决方案(软件)发送一种RESET并释放内存中等待传输的所有图像数据,让相机恢复正常工作状态。
我在以下模式下运行 SDK 我首先将属性设置为 EdsdkWrapper.PropID_SaveTo : EdsdkWrapper.EdsSaveTo.Host
EdsSendCommand EdsdkWrapper.CameraCommand_TakePicture
问题:如何在突然终止后重置相机,以便它可以忘记所有半完成的传输?请注意,突然终止后我没有 IntPtr 参考。(即我不能调用 EdsdkWrapper.EdsDownloadComplete(imageReference))