在打开相机会话后,我无法获取 kEdsPropID_Av。
最终,我想在拍摄每个视频之前获得 Av 财产,但目前我什至无法在开场后直接获得 Av 财产。(我能够在 LiveView 等期间获得 ZoomPossition 等属性,但 Av 没有运气)。
我还尝试使用命令 kEdsCameraCommand_PressShutterButton 在按钮半按下时(在 LiveView 模式期间)获取 Av,但也没有运气,所以我回到了绝对基本的代码,但它仍然不起作用,我得到 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; }