mys*_*elf 6 crash video android recording autofocus
我从事视频录制工作; 一切都有效,除了要求连续对焦.这就是我所做的(在surfaceCreated和surfaceChanged中都尝试过但没有成功):
camera = Camera.open();
camera.setPreviewDisplay(holder);
Parameters parameters = camera.getParameters();
Run Code Online (Sandbox Code Playgroud)
那我也是
parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
Run Code Online (Sandbox Code Playgroud)
要么
parameters.set("focus-mode", "continuous-video");
Run Code Online (Sandbox Code Playgroud)
两者都应该做同样的事情; 然后我用参数设置
camera.setParameters(parameters);
Run Code Online (Sandbox Code Playgroud)
这最后一行总是崩溃!所以我想念一些东西吗?
顺便说一句,我测试了Desire HD,Galaxy S,Galaxy Tab 7和10.1等新设备,它们必须支持连续自动对焦; 至少他们的内置相机应用支持它.
小智 5
您应该检查设备是否支持连续自动对焦.这对我有用,请试一试.
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;
}
Run Code Online (Sandbox Code Playgroud)
好的,我对这个问题有某种解决方案:我可以调用 Camera#autoFocus(...) 手动对焦相机。
这仍然存在严重的问题。首先,在某些三星设备上无法在拍摄视频时调用自动对焦。此外,强迫用户在视频录制期间手动对焦相机也不是一个好主意。
因此,如果您在录制时能够正常聚焦视频 - 您的建议将会非常有帮助。