如何在Android中使用Camera.PreviewCallback的Camera.AutoFocusCallback?

时间:2015-05-22 05:14:38

标签: android camera autofocus

我正在开发一个Android应用程序,它需要我处理可视化数据。相关代码的当前概要如下:

public class ProcessFrames extends Activity implements Camera.PreviewCallback {
   ...
   @override
   public void onPreviewFrame(byte[] data, Camera camera) {
       // PROCESSING CODE HERE
   }
   ...
}

我想在开始处理帧之前等待相机完成自动对焦。为了达到这个目的,我将上述大纲改为:

public class ProcessFrames extends Activity implements Camera.PreviewCallback, Camera.AutoFocusCallback {
   ...

   boolean autoFocusDone = false;

   @Override
   public void onAutoFocus(boolean success, Camera camera) {
       if(success) autoFocusDone = true;
   }

   @override
   public void onPreviewFrame(byte[] data, Camera camera) {
       if(autoFocusDone) {
           // PROCESSING CODE HERE
       }
   }
   ...
}

我面临的问题是boolean autoFocusDone仍然是错误的,因此处理代码永远不会运行。我不明白我做错了什么。我应该如何解决这个问题?

我确保设备支持自动对焦,并且我已正确设置了相机参数。

0 个答案:

没有答案