如何使用Camera 2 api捕捉连续图像。 我写了一个简单的应用程序和一个线程来捕获连续的图像,但它没有工作
答案 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非常好。