2017-01-03 248 views
0

将我的Samsung S6相机校准作为进一步应用程序开发的第一步。 正确工作的应用程序的补贴之一是自动对焦被禁用。 我以前是这样的:关闭Android手机上自动对焦的问题

mCamera.cancelAutoFocus(); 
Camera.Parameters mParam = mCamera.getParameters(); 
mParam.setFocusMode(Camera.Parameters.FOCUS_MODE_INFINITY); 
mCamera.setParameters(mParam); 

以前,我检查了“无限”的对焦模式为我的设备上。 不过,在运行应用程序时,我可以清楚地看到焦点正在改变,取决于框架中物体的距离。 “固定”模式不可用。

我做错了什么? 我只想拥有在运行应用程序时不会改变的焦点。

我在Android Studio中使用OpenCV3.1。

+0

请问,你能更具体吗?为什么您使用弃用的Camera API 1?你在哪里使用自动对焦禁用,我的意思是你打开相机之前或之前使用此命令?你有任何logcat相关的消息? – uelordi

+0

相机API比Camera2更容易实现。 我可以看到,我把整个事情放在一个错误: 保护无效onCreate(Bundle savedInstanceState) 首先,我打开相机,然后我禁用自动对焦。 – page47250

+0

@uelordi发现这[回答](http://stackoverflow.com/questions/32018814/how-to-disable-modify-autofocus-and-autowhitebalance-on-android-camera-using-ope?rq=1)。这是我可以使用的,只是我不知道我可以从哪里调用'setFlashMode'(或者在我的情况下'setFocusMode')。 – page47250

回答

0

奥利维尔的answer帮助了我很多。 描述了它。 不得不编辑一下布局。 将setInfinityFocusMode置于onCameraViewStarted之下。

谢谢Olivier! ;)