gpt4 book ai didi

android - Galaxy S5 上的 FOCUS_MODE_CONTINUOUS_PICTURE 问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:34:42 24 4
gpt4 key购买 nike

我正在开发一款使用相机预览和拍照的 Android 应用。我将 FOCUS_MODE_CONTINUOUS_PICTURE 与 galaxy S4 一起使用,发现对焦效果非常好。

但是,在 galaxy S5 上,FOCUS_MODE_CONTINUOUS_PICTURE 很少能正确找到焦点。相机会放大对焦,但随后会反复缩小对焦。

有没有人知道为什么 FOCUS_MODE_CONTINUOUS_PICTURE 在 S5 上工作得如此糟糕,或者有谁能确认他们是否有同样的问题?

最佳答案

我也遇到过同样的问题。

Galaxy S5 和可能的其他设备在连续图片对焦模式下似乎没有可靠的行为。作为开发人员,这非常令人沮丧,当代码在大多数设备上都能完美运行时,但随后出现了 S5(一种非常流行的设备),我们看起来很糟糕。

经过多次摸索,我认为我有一个运行良好的解决方案(更多的是解决方法)。

  1. 将相机设置为 FOCUS_MODE_CONTINUOUS_PICTURE
  2. 在拍照的手势处理程序中(例如按钮点击、触摸事件),将相机切换到 FOCUS_MODE_AUTO,然后以延迟方式调用 Camera.autoFocus()

这在照片预览期间提供了漂亮的连续对焦 UI,但在可靠的自动对焦模式下拍照。

代码如下:

 protected void onTakePicture()
{

// mCamera is the Camera object
// mAutoFocusCallback is a Camera.AutoFocusCallback handler

try
{

// determine current focus mode
Camera.Parameters params = mCamera.getParameters();
if (params.getFocusMode().equals(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE))
{
mCamera.cancelAutoFocus(); // cancels continuous focus

List<String> lModes = params.getSupportedFocusModes();
if (lModes != null)
{
if (lModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
{
params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO); // auto-focus mode if supported
mCamera.setParameters(params); // set parameters on device
}
}

// start an auto-focus after a slight (100ms) delay
new Handler().postDelayed(new Runnable() {

public void run()
{
mCamera.autoFocus(mAutoFocusCallback); // auto-focus now
}

}, 100);

return;
}

mCamera.autoFocus(mAutoFocusCallback); // do the focus, callback is mAutoFocusCallback

}
catch (Exception e)
{
Log.e("myApp", e.getMessage());
}
}

请试一试并报告你的结果

关于android - Galaxy S5 上的 FOCUS_MODE_CONTINUOUS_PICTURE 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25321968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com