Java 错误:无法创建捕获会话

Java 错误:无法创建捕获会话,java,android,Java,Android,我使用以下代码来捕获图像: mCameraDevice.createCaptureSession(Arrays.asList(previewSurface, mImageReader.getSurface()), new CameraCaptureSession.StateCallback(){ @Override public void onConfigured(CameraCaptureSession session) {

我使用以下代码来捕获图像:

mCameraDevice.createCaptureSession(Arrays.asList(previewSurface, mImageReader.getSurface()), new CameraCaptureSession.StateCallback(){
            @Override
            public void onConfigured(CameraCaptureSession session) {
                if(mCameraDevice == null){
                    return;
                }
                try{
                    mPreviewCaptureRequest = mPreviewCaptureRequestBuider.build();
                    mCameraCaptureSession = session;
                    mCameraCaptureSession.setRepeatingRequest(
                            mPreviewCaptureRequest,
                            mSessionCaptureCallback,
                            mBackgroundHandler
                    );
                }catch(CameraAccessException e){
                    e.printStackTrace();
                }
            }

            @Override
            public void onConfigureFailed(CameraCaptureSession session) {
                Toast.makeText(getApplicationContext(), "create camera session failed!", Toast.LENGTH_SHORT).show();
            }
        }, null);
错误:无法创建捕获会话

在设置摄像头中。我有:

Size largestImageSize = Collections.max(
                    Arrays.asList(map.getOutputSizes(ImageFormat.JPEG)),
                    new Comparator<Size>() {
    @Override
    public int compare(Size lhs, Size rhs) {
         return Long.signum(lhs.getWidth() * lhs.getHeight() - rhs.getWidth() * rhs.getHeight());
    }
}
);
mImageReader = ImageReader.newInstance(largestImageSize.getWidth(), largestImageSize.getHeight(), ImageFormat.JPEG, 1);
mImageReader.setOnImageAvailableListener(mOnImageAvailableListener, mBackgroundHandler);
Size largestImageSize=Collections.max(
Arrays.asList(map.getOutputSizes(ImageFormat.JPEG)),
新比较器(){
@凌驾
公共整数比较(大小lhs,大小rhs){
返回Long.signum(lhs.getWidth()*lhs.getHeight()-rhs.getWidth()*rhs.getHeight());
}
}
);
mImageReader=ImageReader.newInstance(最大ImageSize.getWidth(),最大ImageSize.getHeight(),ImageFormat.JPEG,1);
setOnImageAvailableListener(MonitorImageAvailableListener,mBackgroundHandler);
权限:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera2.full" />


我认为问题在于从
mImageReader
获取曲面。但是,我不知道在这里该怎么办

您是否在清单文件中设置了以下内容

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

您是否在清单文件中设置了以下内容

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


是。我正在使用Camera2是的。我用的是camera2