AndroidCameraSettings.java revision 8097973089420749dcd1ab4974a629c2466b31cc
1package com.android.ex.camera2.portability; 2 3import android.hardware.Camera; 4 5/** 6 * Created by shkong on 6/2/14. 7 */ 8public class AndroidCameraSettings extends CameraSettings { 9 10 public AndroidCameraSettings(CameraCapabilities capabilities, Camera.Parameters params) { 11 CameraCapabilities.Stringifier stringifier = capabilities.getStringifier(); 12 13 // Preview 14 Camera.Size paramPreviewSize = params.getPreviewSize(); 15 setPreviewSize(new Size(paramPreviewSize.width, paramPreviewSize.height)); 16 setPreviewFrameRate(params.getPreviewFrameRate()); 17 int[] previewFpsRange = new int[2]; 18 params.getPreviewFpsRange(previewFpsRange); 19 setPreviewFpsRange(previewFpsRange[Camera.Parameters.PREVIEW_FPS_MIN_INDEX], 20 previewFpsRange[Camera.Parameters.PREVIEW_FPS_MAX_INDEX]); 21 22 23 // Capture: Focus, flash, zoom, exposure, scene mode. 24 if (capabilities.supports(CameraCapabilities.Feature.ZOOM)) { 25 setZoomRatio(params.getZoomRatios().get(params.getZoom()) / 100f); 26 setZoomIndex(params.getZoom()); 27 } else { 28 setZoomRatio(1.0f); 29 setZoomIndex(0); 30 } 31 setExposureCompensationIndex(params.getExposureCompensation()); 32 setFlashMode(stringifier.flashModeFromString(params.getFlashMode())); 33 setFocusMode(stringifier.focusModeFromString(params.getFocusMode())); 34 setSceneMode(stringifier.sceneModeFromString(params.getSceneMode())); 35 36 // Video capture. 37 if (capabilities.supports(CameraCapabilities.Feature.VIDEO_STABILIZATION)) { 38 setVideoStabilization(isVideoStabilizationEnabled()); 39 } 40 41 // Output: Photo size, compression quality, rotation. 42 setPhotoRotationDegrees(0f); 43 setPhotoJpegCompressionQuality(params.getJpegQuality()); 44 Camera.Size paramPictureSize = params.getPictureSize(); 45 setPhotoSize(new Size(paramPictureSize.width, paramPictureSize.height)); 46 } 47} 48