如何在MediaRecorder中添加焦点功能?

时间:2013-05-06 22:57:10

标签: android android-camera android-mediarecorder video-recording

设备:HTC Android:2.3.5

我正在使用MediaRecorder编写录像机应用程序。 它工作但没有焦点功能。

我可以在相机预览阶段添加对焦功能。 但是,一旦我点击按钮开始MediaRecorder,焦点就会失去。

我在线搜索,未能找到答案。

[更新1:详细信息]

我使用了setFocusMode(Parameters.FOCUS_MODE_AUTO);setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)。 但是我调查了HTC设备(2.3.5 sdk版本),它没有FOCUS_MODE_CONTINUOUS_VIDEO的选项。

实际上,HTC设备(2.3.5 sdk版本)的固有视频录制在预览阶段具有对焦功能,并且如果我不改变焦距,则在视频录制期间保持焦距。如果我改变焦距,录制的视频就会失焦。

但是对于MediaRecorder,当我在预览阶段获得良好关注时,一旦启动MediaRecorder,它就会失去焦点。

1 个答案:

答案 0 :(得分:1)

我在使用MediaRecorder进行聚焦时遇到了类似的问题(特别是在3.0版本的android上)。以下设置参数的代码明确解决了我的问题:

Camera.Parameters parameters = mCamera.getParameters();

parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);

parameters.set("cam_mode", 1 ); //not sure why this arcane setting is required. found this in another post on Stackoverlflow 

mCamera.setParameters(parameters);  


mCamera.stopPreview();  // call this if you had started preview before or else recording wont work on Android versions <= 2.3

mediarecorder.setCamera(mCamera); 

此外,您已经提到您正在看到HTC设备出现问题。因此,在非HTC设备上尝试上述代码也是明智之举。在许多其他地方,我遇到过HTC设备的一些非常棘手的问题。