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 单位不一致问题
11浏览 • 1回复 待解决
启动和调试行为不一致
218浏览 • 1回复 待解决
签名不一致报错怎么回事?
2694浏览 • 1回复 待解决
water flow 出现gap不一致问题
697浏览 • 1回复 待解决
依赖hsp出包,报错versionname不一致
68浏览 • 1回复 待解决
Path组件绘制线条粗细不一致
1904浏览 • 1回复 待解决
napi里面,相同输入输出不一致
1674浏览 • 1回复 待解决
window 全屏操作不同设备表现不一致
378浏览 • 1回复 待解决
文字空行高度与字体高度不一致
2100浏览 • 1回复 待解决