CreateDefaultRequest - Invalid templateId specified in createCaptureRequest ()
I want to set up the camera2 API on Android to take a picture at the maximum frame rate, so I am trying to take a picture without processing it.
After doing some research, I found that the best way to do this is to create a capture request with the TEMPLATE_MANUAL parameter .
When creating CaptureRequest.Builder:
final CaptureRequest.Builder capturebuilder =
cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_MANUAL);
I have this error: createDefaultRequest is an invalid templateId specified
'cameraDevice' comes from:
private CameraDevice.StateCallback stateCallback = new CameraDevice.StateCallback() {
@Override
public void onOpened(CameraDevice camera) {
cameraDevice = camera;
startCamera();
}
@Override
public void onDisconnected(CameraDevice camera) {
}
@Override
public void onError(CameraDevice camera, int error) {
}
};
And here "stateCallBack" is called:
public void openCamera()
{
CameraManager manager=(CameraManager)getSystemService(Context.CAMERA_SERVICE);
try
{
String camerId=manager.getCameraIdList()[0];
CameraCharacteristics characteristics=manager.getCameraCharacteristics(camerId);
StreamConfigurationMap map=characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);
previewsize=map.getOutputSizes(SurfaceTexture.class)[0];
if(ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
manager.openCamera(camerId,stateCallback,null);
}
}catch (Exception e)
{
e.printStackTrace();
}
}
+3
source to share
No one has answered this question yet
Check out similar questions: