@Override public void onDisconnected( CameraDevice camera) { Log.d(TAG, "onDisconnected:" + camera.getId()); }
@Override public void onError(@NonNull CameraDevice camera, int error) { Log.e(TAG, "State error on device '" + camera.getId() + "': code " + error); } };
@Override public void onConfigureFailed(@NonNull CameraCaptureSession session) { Log.e(TAG, "Configuration error on device '" + mCamera.getId()); } };
@Override public void onError( CameraDevice camera, int error) { switch(error) { case CameraDevice.StateCallback.ERROR_CAMERA_DEVICE : Log.d(TAG, "onError id:" + camera.getId() + ", ERROR_CAMERA_DEVICE=" + error); break; case CameraDevice.StateCallback.ERROR_CAMERA_DISABLED : Log.d(TAG, "onError id:" + camera.getId() + ", ERROR_CAMERA_DISABLED=" + error);break; case CameraDevice.StateCallback.ERROR_CAMERA_IN_USE : Log.d(TAG, "onError id:" + camera.getId() + ", ERROR_CAMERA_IN_USE=" + error);break; case CameraDevice.StateCallback.ERROR_CAMERA_SERVICE : Log.d(TAG, "onError id:" + camera.getId() + ", ERROR_CAMERA_SERVICE=" + error);break; case CameraDevice.StateCallback.ERROR_MAX_CAMERAS_IN_USE : Log.d(TAG, "onError id:" + camera.getId() + ", ERROR_MAX_CAMERAS_IN_USE=" + error);break; default:Log.d(TAG, "onError id:" + camera.getId() + ", code=" + error);; } if (mOnCameraListener != null) {// add image receiver. mOnCameraListener.onCameraEvent(camera.getId(), error | Camera2GLSurfaceView.OnCameraListener.EVENT_CAMERA_ERROR); } } };
public void switchCamera() { if (cameraDevice != null) { int cameraId = Integer.parseInt(cameraDevice.getId()) == 1 ? 0 : 1; closeCamera(false); prepared = true; openCameraId(cameraId); } }
@Override public void onDisconnected(@NonNull CameraDevice cameraDevice) { if( verbose ) Log.i(TAG,"CameraDevice Callback onDisconnected() id="+cameraDevice.getId()); boolean unexpected = !open.mLock.isLocked(); if( unexpected ) { open.mLock.lock(); } try { open.mCameraDevice = cameraDevice; open.closeCamera(); } finally { open.mLock.unlock(); } onCameraDisconnected(cameraDevice); if( unexpected) { // the camera disconnected and no request to disconnect it was made by // the application. not really sure what to do here. Restarting the activity // seems reasonable Log.e(TAG," Camera disconnection was unexpected. Restarting activity"); recreate(); } }
@Override public void onCaptureStarted(CameraCaptureSession session, CaptureRequest request, long timestamp, long frameNumber) { super.onCaptureStarted(session, request, timestamp, frameNumber); //Log.d(TAG, "onCaptureStarted:" + timestamp + ",request=" + request.toString()); if (request.getTag() == "FOCUS_TAG") { Log.d(TAG, "onCaptureStarted:" + timestamp + ",request=" + request.toString()); if (mOnCameraListener != null) { mOnCameraListener.onCameraEvent(session.getDevice().getId(), Camera2GLSurfaceView.OnCameraListener.EVENT_FOCUS_OVER); } } }
@Override public void onOpened( CameraDevice camera) { Log.d(TAG, "onOpened:" + camera.getId()); try { mCameraDevice = camera; mPreviewBuilder = camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); } catch (CameraAccessException e) { e.printStackTrace(); } if (mOnCameraListener != null) {// add image receiver. mImageReader = mOnCameraListener.setupPreview(VirtualCamera.this.mCameraDevice.getId(), mCameraCharacteristics, mPreviewBuilder); mImageReader.setOnImageAvailableListener(VirtualCamera.this, mHandler); } startPreview(); }
@Override public void onOpened(@NonNull CameraDevice cameraDevice) { if( verbose ) Log.i(TAG,"CameraDevice Callback onOpened() id="+cameraDevice.getId()+" camera="+open.state); if( !open.mLock.isLocked() ) throw new RuntimeException("Camera not locked!");
@Override public void setDeviceRotation(int deviceOrientation) { mDeviceOrientation = deviceOrientation; // configure transform if preview is running only if (isPreviewRunning()) { try { CameraCharacteristics characteristics = mCamManager.getCameraCharacteristics(mCamera.getId()); StreamConfigurationMap map = characteristics.get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP); if (map == null) { Log.w(TAG, "Could not find a valid preview size"); } else { final Point previewSize = chooseOptimalSize(toPointArray(map.getOutputSizes(ImageFormat.YUV_420_888))); setDeviceOrientation(previewSize); } } catch (CameraAccessException e) { Log.e(TAG, "Failed to set device orientation", e); } } }
try{ Size[] sizes; CameraCharacteristics cameraCharacteristics = camMan.getCameraCharacteristics(camera.getId()); sizes = cameraCharacteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP).getOutputSizes(ImageFormat.JPEG); int width;
static void proceedWithOpenedCamera(final Context context, final CameraManager manager, final CameraDevice camera, final File outputFile, final Looper looper, final PrintWriter stdout) throws CameraAccessException, IllegalArgumentException { final List<Surface> outputSurfaces = new ArrayList<>(); final CameraCharacteristics characteristics = manager.getCameraCharacteristics(camera.getId());
Object param = mOnCameraListener.onPreview(mCameraDevice.getId(), bytes, image.getWidth(), image.getHeight(), image.getFormat(), image.getTimestamp()); data.setParams(param);
CameraCharacteristics characteristics = manager.getCameraCharacteristics(mCameraDevice.getId());
try { CameraCharacteristics characteristics = mCamManager.getCameraCharacteristics(mCamera.getId()); StreamConfigurationMap map = characteristics.get( CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP);