gpt4 book ai didi

c++ - EDSDK : Error if open camera session, 稍等片刻

转载 作者:行者123 更新时间:2023-11-28 06:22:58 26 4
gpt4 key购买 nike

我用EDSDK控制佳能EOS 1200D。

我试试这段代码:

err = EdsOpenSession(_camera);
if(err != EDS_ERR_OK)
std::cout << "[ERROR] : EdsOpenSession" << std::endl;
QThread::sleep(5);
err = EdsSetObjectEventHandler(_camera, kEdsObjectEvent_All, handleObjectEvent, (EdsVoid*)&_path);
if(err != EDS_ERR_OK)
std::cout << "[ERROR] : EdsSetObjectEventHandler" << std::endl;
EdsInt32 saveTarget = kEdsSaveTo_Host;
err = EdsSetPropertyData(_camera, kEdsPropID_SaveTo, 0, 4, &saveTarget);
if(err != EDS_ERR_OK)
std::cout << "[ERROR] : EdsSetPropertyData kEdsSaveTo_Host" << std::endl;
EdsCapacity newCapacity = {0x7FFFFFFF, 0x1000, 1};
err = EdsSetCapacity(_camera, newCapacity);
if(err != EDS_ERR_OK)
std::cout << "[ERROR] : EdsSetPropertyData newCapacity" << std::endl;
err = EdsSendCommand(_camera, kEdsCameraCommand_TakePicture, 0);
if(err != EDS_ERR_OK)
std::cout << "[ERROR] : takePicture " << err << std::endl;

sleep 时,当我执行 EdsSendCommand(_camera, kEdsCameraCommand_TakePicture, 0) 时,出现错误 EDS_ERR_TAKE_PICTURE_CARD_NG 0x00008D07L。没有 sleep ,一切正常。

相机 session 是否超时?

最佳答案

我在 C# 中遇到了同样的问题。我通过使用 Timer 组件运行其余代码解决了这个问题。我认为 EDSDK 不太喜欢线程。

如果你正在为 windows 编译可以使用 SetTimer 函数。

链接谈到了功能。 https://msdn.microsoft.com/en-us/library/windows/desktop/ms644906%28v=vs.85%29.aspx

希望你能解决你的问题。

关于c++ - EDSDK : Error if open camera session, 稍等片刻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29035775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com