我从事视频录制工作;一切都有效,除了要求连续对焦.这就是我所做的(在surfaceCreated和surfaceChanged中都尝试过但没有成功):
camera = Camera.open(); camera.setPreviewDisplay(holder); Parameters parameters = camera.getParameters();
那我也是
parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
要么
parameters.set("focus-mode","continuous-video");
两者都应该做同样的事情;然后我用参数设置
camera.setParameters(parameters);
这最后一行总是崩溃!所以我想念一些东西吗?
顺便说一句,我测试了Desire HD,Galaxy S,Galaxy Tab 7和10.1等新设备,它们必须支持连续自动对焦;至少他们的内置相机应用支持它.
解决方法
您应该检查设备是否支持连续自动对焦.这对我有用,请试一试.
boolean startContinuousAutoFocus() { Camera.Parameters params = mCamera.getParameters(); List<String> focusModes = params.getSupportedFocusModes(); String CAF_PICTURE = Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,CAF_VIDEO = Parameters.FOCUS_MODE_CONTINUOUS_VIDEO,supportedMode = focusModes .contains(CAF_PICTURE) ? CAF_PICTURE : focusModes .contains(CAF_VIDEO) ? CAF_VIDEO : ""; if (!supportedMode.equals("")) { params.setFocusMode(supportedMode); mCamera.setParameters(params); return true; } return false; }