Java – cameradevice failed to create session [Camera2]
•
Java
I'm trying to stream camera data to surfaceview. Com using the Camera2 API I am following this guide: Camera2 guide
I can't pass step 5
setContentView(R.layout.activity_main); surfaceView = (SurfaceView)findViewById(R.id.surface); manager = (CameraManager)getSystemService(Context.CAMERA_SERVICE);
for (String id : manager.getCameraIdList()) {
Cameracharacteristics characteristics = manager.getCameracharacteristics(id);
Integer direction = characteristics.get(Cameracharacteristics.LENS_FACING);
if (direction != null && direction == Cameracharacteristics.LENS_FACING_BACK) {
if (checkCallingOrSelfPermission("android.permission.CAMERA") == PackageManager.PERMISSION_GRANTED)
manager.openCamera(id,new StateCallback(),null);
break;
}
}
List<Surface> surfaces = new LinkedList<>();
surfaces.add(surfaceView.getHolder().getSurface());
CaptureRequest.Builder builder = camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
builder.addTarget(surfaces.get(0));
camera.createCaptureSession(surfaces,new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(CameraCaptureSession session) {
Log.i(TAG,"Configured");
}
@Override
public void onConfigureFailed(CameraCaptureSession session) {
Log.e(TAG,"Configured Failed"); // Ends up in this function :(
}
},null);
The program is finally in the onconfigurefailed() function I don't know what might be wrong. I don't know how to check what it is
My guess is that I missed something in capturerequest, but I don't know what it is
I'm running Samsung Galaxy S4
Solution
Add to onconfigured:
if (null == cameraDevice) {
Log.e(TAG,"updatePreview error,return");
return;
}
captureRequestBuilder.set(CaptureRequest.CONTROL_MODE,Camera@R_403_1926@data.CONTROL_MODE_AUTO);
try {
cameraCaptureSessions.setRepeatingRequest(captureRequestBuilder.build(),null,mBackgroundHandler);
} catch (CameraAccessException e) {
e.printStackTrace();
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
