2012-07-24 58 views
4

我试图将相机设置为自动对焦ON ......但每当我设置setFocusMode应用程序崩溃..相机parameters.setFocusMode不工作

java.lang.RuntimeException: setParameters failed 

我的代码是:

Camera.Parameters parameters = camera.getParameters(); 
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH); 
Camera.Size size = getBestPreviewSize(width, height, parameters); 
Camera.Size pictureSize = getSmallestPictureSize(parameters); 

if (size != null && pictureSize != null) { 
    parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO); 
    parameters.setPreviewSize(size.width, size.height); 
    parameters.setPictureSize(pictureSize.width, pictureSize.height); 
    parameters.setPictureFormat(ImageFormat.JPEG); 
    camera.setParameters(parameters); 
    cameraConfigured = true; 
} 

为什么会出现这个错误?

+0

使其70%..现在如果u能帮助我..这将是巨大的 – 2012-07-24 02:48:19

+0

加入我的代码了。 – 2012-07-24 02:49:54

回答

24

您需要验证相机是否支持您想要的FOCUS MODE。

做这样的:

Camera.Parameters parameters = camera.getParameters(); 
List<String> focusModes = parameters.getSupportedFocusModes(); 
if (focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) 
    parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO); 
camera.setParameters(parameters); 
+0

非常好!这帮助我很多! – 2016-02-14 06:37:14