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; 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
HarmonyOS
2024-11-12 10:40:58
1170浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

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

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