我正在使用相机预览和拍照的Android应用程序。我在银河S4上使用了FOCUS_MODE_CONTINUOUS_PICTURE
,发现聚焦效果很好。
但是,在星系S5上,FOCUS_MODE_CONTINUOUS_PICTURE
很少能正确找到焦点。相机将变焦至焦点,但随后反复变焦至焦点失焦。
是否有人知道FOCUS_MODE_CONTINUOUS_PICTURE
在S5上的表现如此差劲的原因,还是有人可以确认他们是否有相同的问题?
最佳答案
我也经历过这些相同的问题。
在连续图片对焦模式下,Galaxy S5和其他设备似乎没有可靠的行为。当开发人员可以在大多数设备上完美运行代码时,这对于开发人员来说非常令人沮丧,但是随之而来的是S5(一种非常流行的设备),我们看起来很糟糕。
经过一番摸索之后,我认为我有一个很好的解决方案(更多的替代方法)。
这在照片预览期间提供了不错的连续对焦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());
}
}
请尝试一下并报告您的结果