EDSDK如何在LiveView中获取Av属性

时间:2015-08-19 13:36:48

标签: c++ edsdk canon-sdk

我在打开相机会话后遇到kEdsPropID_Av时出现问题。

最终我希望在拍摄每个视频之前获得Av物业,但目前我甚至无法在开幕后获得Av物业。 (我可以在LiveView期间获得像ZoomPossition这样的属性,但是对于Av没有运气)。

我还尝试使用命令kEdsCameraCommand_PressShutterButton按下按钮半按(在LiveView模式下),但也没有运气,所以我回到绝对基本的代码,但它仍然没有工作,我&#39 ;得到AvValue = 0。 任何帮助将不胜感激。

我的基本代码:

// Open session with camera
Error = OpenSession(CamRef);
if (Error == EDS_ERR_OK)
{
std::cout << "session open" << std::endl;
EdsUInt32 Av;
Av = getAv();
std::cout << "Aperture: " << Av << std::endl;
else{std::cout<<"EDSDK Error: " << Error << std::endl;}

getAv功能:

EdsUInt32 getAv(){
EdsDataType dataType;
EdsUInt32 dataSize;
EdsUInt32 AvValue;
Error = EdsGetPropertySize(CamRef, kEdsPropID_Av, 0, &dataType, &dataSize);
if (Error == EDS_ERR_OK)
{
    Error = EdsGetPropertyData(CamRef, kEdsPropID_Av, 0, dataSize, &AvValue);
}
return AvValue; }

0 个答案:

没有答案