Java Camera2 API仅适用于前5张图片

Java Camera2 API仅适用于前5张图片,java,android,android-camera2,Java,Android,Android Camera2,我对android camera2有问题。我从开始并更改了它,以便预览和捕获手动拍摄照片。因此,我将CameraDevice.TEMPLATE\u预览和CameraDevice.TEMPLATE\u捕获都更改为CameraDevice.TEMPLATE\u手册 我删除了预览回调,因为没有自动对焦就不需要它。下面是我如何拍照的: final CameraCaptureSession.CaptureCallback captureCallback = new Came

我对android camera2有问题。我从开始并更改了它,以便预览和捕获手动拍摄照片。因此,我将
CameraDevice.TEMPLATE\u预览
CameraDevice.TEMPLATE\u捕获
都更改为
CameraDevice.TEMPLATE\u手册

我删除了预览回调,因为没有自动对焦就不需要它。下面是我如何拍照的:

final CameraCaptureSession.CaptureCallback captureCallback
                = new CameraCaptureSession.CaptureCallback() {

            @Override
            public void onCaptureCompleted(@NonNull CameraCaptureSession session,
                                           @NonNull CaptureRequest request,
                                           @NonNull TotalCaptureResult result) {
                showToast("Saved");
                unlockFocus();
            }
        };

mCaptureSession.stopRepeating();
mCaptureSession.abortCaptures();
mCaptureSession.capture(mCaptureRequest, captureCallback, null);
中解锁焦点

mCaptureSession.capture(mPreviewRequest, null, mBackgroundHandler);
mCaptureSession.setRepeatingRequest(mPreviewRequest, mPreviewCaptureCallback,
                mBackgroundHandler);
但是它每次可以处理5张图片,然后它就再也不会进入回调中的
onCaptureCompleted
,我不知道为什么

有人能帮我吗

编辑:

captureCallback
onCaptureFailed
表示图像已拍摄,但拍摄失败,原因是
reason==0
(框架中出现错误,但我不知道在哪里,以及它是如何在5次首次拍摄时工作的),拍摄照片时序列id总是增加2


这意味着每当
seqid>10
时都会发生错误,有链接吗?

正如@Alex Cohn所说,我只是忘记关闭
ImageReader上的图像,正在其他地方搜索问题

这是校正后的
ImageReader.OnImageAvailableListener
,没有对输出图像进行处理,因为它只是一个测试

private final ImageReader.OnImageAvailableListener mOnImageAvailableListener
        = new ImageReader.OnImageAvailableListener() {

    @Override
    public void onImageAvailable(ImageReader reader) {
        Image image = reader.acquireNextImage();
        image.close();
    }

};

你使用ImageReader吗?你忘了吗?是的,我刚刚解决了这个问题,太愚蠢了!无论如何,谢谢你,当我结束我的问题时,你回答了我的问题^^是的,你一开始怎么会想到这个:-)我花了这么多时间试图调试相机会话和拍摄过程,甚至都没有想到这一点,突然我发现它是在拍摄之后,最终找到了它,但哇,我花了一天时间^^