HarmonyOS 设置变焦值,重新获取最新的变焦值,不一致

设置变焦值,重新获取最新的变焦值,不一致。需要等过几十毫秒后(可能是新一帧画面)才变化。如果设置了变焦值,并且接口返回正常,再去获取对应的值,是不是要和设置的一致才比较合理。

bool MTCamera::setZoom(const float zoomValue) { 
  Camera_ErrorCode ret = OH_CaptureSession_SetZoomRatio(mCameraCaptureSession, zoomValue); 
  if (ret == CAMERA_OK) { 
    float curZoom = getCurZoom(); 
    OH_LOG_INFO(LOG_APP, "OH_CaptureSession_SetZoomRatio success. curValue = %{public}f ,setZoomValue =%{public}f ",curZoom,zoomValue); 
    return true; 
  } else { 
    OH_LOG_ERROR(LOG_APP, "OH_CaptureSession_SetZoomRatio failed. %{public}d ", ret); 
    return false; 
  } 
} 
float MTCamera::getCurZoom() { 
  float zoomValue; 
  Camera_ErrorCode ret = OH_CaptureSession_GetZoomRatio(mCameraCaptureSession, &zoomValue); 
  if (ret == CAMERA_OK) { 
    MT_LOG_INFO("OH_CaptureSession_GetZoomRatio success "); 
  } else { 
    MT_LOG_ERROR("OH_CaptureSession_GetZoomRatio failed. %d ", ret); 
  } 
  return zoomValue; 
}
HarmonyOS
2024-11-12 10:40:58
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

底层变焦不是立马生效的,要过几帧,所以先set后里面get是之前的值,可以sleep一下在获取。

分享
微博
QQ
微信
回复
2024-11-12 15:11:36
相关问题
HarmonyOS 单位不一致问题
1103浏览 • 1回复 待解决
启动和调试行为不一致
1319浏览 • 1回复 待解决
签名不一致报错怎么回事?
4126浏览 • 1回复 待解决
HarmonyOS rotateX/rotateY,和web效果不一致
1259浏览 • 1回复 待解决
依赖hsp出包,报错versionname不一致
1079浏览 • 1回复 待解决
water flow 出现gap不一致问题
1660浏览 • 1回复 待解决
Path组件绘制线条粗细不一致
2866浏览 • 1回复 待解决
HarmonyOS Text组件文本上下间距不一致
1053浏览 • 1回复 待解决
napi里面,相同输入输出不一致
2746浏览 • 1回复 待解决
window 全屏操作不同设备表现不一致
1114浏览 • 0回复 待解决
window 全屏操作不同设备表现不一致
1372浏览 • 1回复 待解决
HarmonyOS list中item数据显示效果不一致
1097浏览 • 1回复 待解决