I am using a SurfaceView
to show the preview I capture. I want to use width=1080,height=1920 for the preview. Where can I set the size of the preview?
I googled for an answer, but they are all for camera version one. I am using the android.hardware.camera2.
private void takePreview() { try { final CaptureRequest.Builder previewRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW); previewRequestBuilder.addTarget(mSurfaceHolder.getSurface()); mCameraDevice.createCaptureSession(Arrays.asList(mSurfaceHolder.getSurface(), mImageReader.getSurface()), new CameraCaptureSession.StateCallback() // ③ { @Override public void onConfigured(CameraCaptureSession cameraCaptureSession) { if (null == mCameraDevice) return; mCameraCaptureSession = cameraCaptureSession; try { previewRequestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_CONTINUOUS_PICTURE); previewRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CaptureRequest.CONTROL_AE_MODE_ON_ALWAYS_FLASH); previewRequestBuilder.set(CaptureRequest.JPEG_THUMBNAIL_SIZE, new Size(1080,1920)); CaptureRequest previewRequest = previewRequestBuilder.build(); mCameraCaptureSession.setRepeatingRequest(previewRequest, null, childHandler); } catch (CameraAccessException e) { Log.e("takePreview","onConfigured(CameraCaptureSession cameraCaptureSession)",e); } } @Override public void onConfigureFailed(CameraCaptureSession cameraCaptureSession) { Log.e("takePreview","onConfigureFailed"); } }, childHandler); } catch (CameraAccessException e) { Log.e("takePreview","CameraAccessException"); } }