使用Camera2 api连续捕获图像

时间:2015-07-05 14:56:59

标签: android android-camera

如何使用Camera 2 api捕捉连续图像。 我写了一个简单的应用程序和一个线程来捕获连续的图像,但它没有工作

1 个答案:

答案 0 :(得分:3)

如果您提供了代码,那么我们就可以看到错误了。

一般而言,您希望创建一个CameraDevice对象,并通过指定您可能要输出的曲面(可能只有1)来调用CameraDevice.createCaptureSession(List <Surface>, CameraCaptureSession.StateCallback, Handler)方法。一旦CameraCaptureSession.StateCallback(您在createCaptureSession方法中指定)调用onConfigured(CameraCaptureSession)方法,请调用CameraDevice.createCaptureRequest(int)方法,该方法返回CaptureRequest.Builder对象。这样,您可以使用CaptureRequest.Builder.addTarget(Surface)方法指定要输出的预先指定的曲面(可能是所有曲面)。完成添加目标后,请调用CaptureRequest.Builder.build()方法,该方法返回CaptureRequest个对象。然后,您可以使用CameraCaptureSession方法提供给您的onConfigured(CameraCaptureSession)对象,最终将CaptureRequest对象传递给CameraCaptureSession.setRepeatingRequest(CaptureRequest, CameraCaptureSession.CaptureCallback, Handler)方法。这将开始连续输出到您指定的曲面。

说真的,这个api太复杂了,你认为他们并不想让你使用它。如果您需要有关这些类和方法的更多详细信息,Android documentation非常好。