private void startPreview(SurfaceTexture texture) { try { if (texture == null) return; this.texture = texture; texture.setDefaultBufferSize(previewSize.getWidth(), previewSize.getHeight()); workingSurface = new Surface(texture); previewRequestBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); previewRequestBuilder.addTarget(workingSurface); cameraDevice.createCaptureSession(Arrays.asList(workingSurface, imageReader.getSurface()), new CameraCaptureSession.StateCallback() { @Override public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) { updatePreview(cameraCaptureSession); } @Override public void onConfigureFailed( @NonNull CameraCaptureSession cameraCaptureSession) { Log.d(TAG, "Fail while starting preview: "); } }, null); } catch (Exception e) { Log.e(TAG, "Error while preparing surface for preview: ", e); } }
/** * <p>Starts a capture session for camera preview.</p> * <p>This rewrites {@link #mPreviewRequestBuilder}.</p> * <p>The result will be continuously processed in {@link #mSessionCallback}.</p> */ void startCaptureSession() { if (!isCameraOpened() || !mPreview.isReady() || mImageReader == null) { return; } Size previewSize = chooseOptimalSize(); mPreview.setBufferSize(previewSize.getWidth(), previewSize.getHeight()); Surface surface = mPreview.getSurface(); try { mPreviewRequestBuilder = mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); mPreviewRequestBuilder.addTarget(surface); mCamera.createCaptureSession(Arrays.asList(surface, mImageReader.getSurface()), mSessionCallback, null); } catch (CameraAccessException e) { throw new RuntimeException("Failed to start camera session"); } }
private CaptureRequest drawSurface(Surface surface) { try { builderInputSurface = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); builderInputSurface.addTarget(surface); return builderInputSurface.build(); } catch (CameraAccessException | IllegalStateException e) { Log.e(TAG, "Error", e); return null; } }
public static CaptureRequest.Builder createCaptureStillBuilder(CameraDevice cameraDevice, Surface surface) throws CameraAccessException { CaptureRequest.Builder captureBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE); captureBuilder.addTarget(surface); return captureBuilder; }
// This is the CaptureRequest.Builder that we use to take a picture. final CaptureRequest.Builder captureBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE); captureBuilder.addTarget(mImageReader.getSurface()); //Set the JPEG quality here like so captureBuilder.set(CaptureRequest.JPEG_QUALITY, (byte)90);
Surface mSurface = new Surface(mSurfaceTexture); list.add(mSurface); mBuilder.addTarget(mSurface); camera.createCaptureSession(list, new MyCameraCaptureSessionStateCallback(), null); } catch (CameraAccessException e) {
final CaptureRequest.Builder builder=mDevice.createCaptureRequest (TEMPLATE_PREVIEW); builder.addTarget(surface); mController.getTexture().setDefaultBufferSize( mPreviewSize.getWidth(),mPreviewSize.getHeight());
mPreviewBuilder.addTarget(previewSurface);
private void startPreview(SurfaceTexture texture) { try { if (texture == null) return; this.mSurfaceTexture = texture; texture.setDefaultBufferSize(mPreviewSize.getWidth(), mPreviewSize.getHeight()); mWorkingSurface = new Surface(texture); mPreviewRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); mPreviewRequestBuilder.addTarget(mWorkingSurface); mCameraDevice.createCaptureSession(Arrays.asList(mWorkingSurface, mImageReader.getSurface()), new CameraCaptureSession.StateCallback() { @Override public void onConfigured(@NonNull CameraCaptureSession cameraCaptureSession) { updatePreview(cameraCaptureSession); } @Override public void onConfigureFailed( @NonNull CameraCaptureSession cameraCaptureSession) { Log.d(TAG, "Fail while starting preview: "); } }, null); } catch (Exception e) { Log.e(TAG, "Error while preparing surface for preview: ", e); } }
private void captureStillPicture() { try { if (null == mCameraDevice) { return; } final CaptureRequest.Builder captureBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE); captureBuilder.addTarget(mImageReader.getSurface()); captureBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE); captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, getPhotoOrientation(cameraConfigProvider.getSensorPosition())); CameraCaptureSession.CaptureCallback CaptureCallback = new CameraCaptureSession.CaptureCallback() { @Override public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) { Log.d(TAG, "onCaptureCompleted: "); } }; mCaptureSession.stopRepeating(); mCaptureSession.capture(captureBuilder.build(), CaptureCallback, null); } catch (CameraAccessException e) { Log.e(TAG, "Error during capturing picture"); } }
private void createCameraCaptureSession() throws CameraAccessException { if(isUserWantPreview&&mPreviewTexture!=null&&mCameraDevice!=null){ mCaptureRequestBuilder=mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); Surface surface=new Surface(mPreviewTexture); mCaptureRequestBuilder.addTarget(surface); mCameraDevice.createCaptureSession(Arrays.asList(surface),mSessionPreviewCallback, mCameraHandler); } }
mPreviewRequestBuilder.addTarget(surface);
CaptureRequest.Builder captureRequestBuilder = mCamera.createCaptureRequest( CameraDevice.TEMPLATE_STILL_CAPTURE); captureRequestBuilder.addTarget(mImageReader.getSurface()); captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, mPreviewRequestBuilder.get(CaptureRequest.CONTROL_AF_MODE));
captureBuilder.addTarget(mImageReader.getSurface());
CaptureRequest.Builder captureRequestBuilder = mCamera.createCaptureRequest( CameraDevice.TEMPLATE_STILL_CAPTURE); captureRequestBuilder.addTarget(mImageReader.getSurface()); captureRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, mPreviewRequestBuilder.get(CaptureRequest.CONTROL_AF_MODE));
private void captureStillPicture() { try { if (null == cameraDevice) { return; } final CaptureRequest.Builder captureBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE); captureBuilder.addTarget(imageReader.getSurface()); captureBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE); captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, getPhotoOrientation(configurationProvider.getSensorPosition())); CameraCaptureSession.CaptureCallback CaptureCallback = new CameraCaptureSession.CaptureCallback() { @Override public void onCaptureCompleted(@NonNull CameraCaptureSession session, @NonNull CaptureRequest request, @NonNull TotalCaptureResult result) { Log.d(TAG, "onCaptureCompleted: "); } }; captureSession.stopRepeating(); captureSession.capture(captureBuilder.build(), CaptureCallback, null); } catch (CameraAccessException e) { Log.e(TAG, "Error during capturing picture"); } }
/** * <p>Starts a capture session for camera preview.</p> * <p>This rewrites {@link #mPreviewRequestBuilder}.</p> * <p>The result will be continuously processed in {@link #mSessionCallback}.</p> */ void startCaptureSession() { if (!isCameraOpened() || !mPreview.isReady() || mImageReader == null) { return; } Size previewSize = chooseOptimalSize(); mPreview.setBufferSize(previewSize.getWidth(), previewSize.getHeight()); Surface surface = mPreview.getSurface(); try { mPreviewRequestBuilder = mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); mPreviewRequestBuilder.addTarget(surface); mCamera.createCaptureSession(Arrays.asList(surface, mImageReader.getSurface()), mSessionCallback, null); } catch (CameraAccessException e) { throw new RuntimeException("Failed to start camera session"); } }