2012-07-24 57 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