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

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

设备:HTC 安卓: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它就会失去焦点。

最佳答案

我在使用 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 设备的一些非常奇怪的问题。

关于android - 如何在MediaRecorder中添加焦点功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16408623/

相关文章:

Android:从 AutoCompleteTextview 中列出位置

java - 在 android 中调用 API 并使用 Retrofit 2 收到此错误 :Response{protocol=h2, code=200, message=, url=https ://api. com/video/list-video.php}

android - ClassCastException 和无法在 Android 上实例化 Activity

android - 从 RecyclerView 中删除所有项目

android - 如何在我的应用程序中使用新 Android 手机的连拍相机模式?

qt - 启用/禁用相机(QML 相机)

android - Android 中的相机/图片方向

android - 带 OpenGL 的 MediaRecorder Surface Input - 如果启用录音会出现问题

android - 在 Android 中使用 MediaRecorder 录制的音频文件无法在 PC 上正常播放

android - 为什么纹理 View 中的相机预览比表面 View 中的相机预览模糊得多?