Java Code Examples for android.hardware.Camera.Parameters#setPreviewFormat()
The following examples show how to use
android.hardware.Camera.Parameters#setPreviewFormat() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: VideoStream.java From spydroid-ipcamera with GNU General Public License v3.0 | 6 votes |
protected synchronized void updateCamera() throws RuntimeException { if (mPreviewStarted) { mPreviewStarted = false; mCamera.stopPreview(); } Parameters parameters = mCamera.getParameters(); mQuality = VideoQuality.determineClosestSupportedResolution(parameters, mQuality); int[] max = VideoQuality.determineMaximumSupportedFramerate(parameters); parameters.setPreviewFormat(mCameraImageFormat); parameters.setPreviewSize(mQuality.resX, mQuality.resY); parameters.setPreviewFpsRange(max[0], max[1]); try { mCamera.setParameters(parameters); mCamera.setDisplayOrientation(mOrientation); mCamera.startPreview(); mPreviewStarted = true; } catch (RuntimeException e) { destroyCamera(); throw e; } }
Example 2
Source File: CameraWrapper.java From VideoCamera with Apache License 2.0 | 5 votes |
public void configureForPreview(int viewWidth, int viewHeight) { final Parameters params = mNativeCamera.getNativeCameraParameters(); final CameraSize previewSize = getOptimalSize(params.getSupportedPreviewSizes(), viewWidth, viewHeight); params.setPreviewSize(previewSize.getWidth(), previewSize.getHeight()); params.setPreviewFormat(ImageFormat.NV21); mNativeCamera.updateNativeCameraParameters(params); mNativeCamera.setDisplayOrientation(getRotationCorrection()); CLog.d(CLog.CAMERA, "Preview size: " + previewSize.getWidth() + "x" + previewSize.getHeight()); }
Example 3
Source File: CameraWrapper.java From LandscapeVideoCamera with Apache License 2.0 | 5 votes |
public void configureForPreview(int viewWidth, int viewHeight) { final Parameters params = mNativeCamera.getNativeCameraParameters(); final CameraSize previewSize = getOptimalSize(params.getSupportedPreviewSizes(), viewWidth, viewHeight); params.setPreviewSize(previewSize.getWidth(), previewSize.getHeight()); params.setPreviewFormat(ImageFormat.NV21); mNativeCamera.updateNativeCameraParameters(params); mNativeCamera.setDisplayOrientation(getRotationCorrection()); CLog.d(CLog.CAMERA, "Preview size: " + previewSize.getWidth() + "x" + previewSize.getHeight()); }
Example 4
Source File: VideoStream.java From libstreaming with Apache License 2.0 | 5 votes |
protected synchronized void updateCamera() throws RuntimeException { // The camera is already correctly configured if (mUpdated) return; if (mPreviewStarted) { mPreviewStarted = false; mCamera.stopPreview(); } Parameters parameters = mCamera.getParameters(); mQuality = VideoQuality.determineClosestSupportedResolution(parameters, mQuality); int[] max = VideoQuality.determineMaximumSupportedFramerate(parameters); double ratio = (double)mQuality.resX/(double)mQuality.resY; mSurfaceView.requestAspectRatio(ratio); parameters.setPreviewFormat(mCameraImageFormat); parameters.setPreviewSize(mQuality.resX, mQuality.resY); parameters.setPreviewFpsRange(max[0], max[1]); try { mCamera.setParameters(parameters); mCamera.setDisplayOrientation(mOrientation); mCamera.startPreview(); mPreviewStarted = true; mUpdated = true; } catch (RuntimeException e) { destroyCamera(); throw e; } }
Example 5
Source File: AndroidCameraAgentImpl.java From Camera2 with Apache License 2.0 | 4 votes |
private void applySettingsToParameters(final CameraSettings settings, final Parameters parameters) { final CameraCapabilities.Stringifier stringifier = mCapabilities.getStringifier(); Size photoSize = settings.getCurrentPhotoSize(); parameters.setPictureSize(photoSize.width(), photoSize.height()); Size previewSize = settings.getCurrentPreviewSize(); parameters.setPreviewSize(previewSize.width(), previewSize.height()); if (settings.getPreviewFrameRate() == -1) { parameters.setPreviewFpsRange(settings.getPreviewFpsRangeMin(), settings.getPreviewFpsRangeMax()); } else { parameters.setPreviewFrameRate(settings.getPreviewFrameRate()); } parameters.setPreviewFormat(settings.getCurrentPreviewFormat()); parameters.setJpegQuality(settings.getPhotoJpegCompressionQuality()); if (mCapabilities.supports(CameraCapabilities.Feature.ZOOM)) { parameters.setZoom(zoomRatioToIndex(settings.getCurrentZoomRatio(), parameters.getZoomRatios())); } parameters.setExposureCompensation(settings.getExposureCompensationIndex()); if (mCapabilities.supports(CameraCapabilities.Feature.AUTO_EXPOSURE_LOCK)) { parameters.setAutoExposureLock(settings.isAutoExposureLocked()); } parameters.setFocusMode(stringifier.stringify(settings.getCurrentFocusMode())); if (mCapabilities.supports(CameraCapabilities.Feature.AUTO_WHITE_BALANCE_LOCK)) { parameters.setAutoWhiteBalanceLock(settings.isAutoWhiteBalanceLocked()); } if (settings.getWhiteBalance() != null) { parameters.setWhiteBalance(stringifier.stringify(settings.getWhiteBalance())); } if (mCapabilities.supports(CameraCapabilities.Feature.FOCUS_AREA)) { if (settings.getFocusAreas().size() != 0) { parameters.setFocusAreas(settings.getFocusAreas()); } else { parameters.setFocusAreas(null); } } if (mCapabilities.supports(CameraCapabilities.Feature.METERING_AREA)) { if (settings.getMeteringAreas().size() != 0) { parameters.setMeteringAreas(settings.getMeteringAreas()); } else { parameters.setMeteringAreas(null); } } if (settings.getCurrentFlashMode() != CameraCapabilities.FlashMode.NO_FLASH) { parameters.setFlashMode(stringifier.stringify(settings.getCurrentFlashMode())); } if (settings.getCurrentSceneMode() != CameraCapabilities.SceneMode.NO_SCENE_MODE) { if (settings.getCurrentSceneMode() != null) { parameters .setSceneMode(stringifier.stringify(settings.getCurrentSceneMode())); } } parameters.setRecordingHint(settings.isRecordingHintEnabled()); Size jpegThumbSize = settings.getExifThumbnailSize(); if (jpegThumbSize != null) { parameters.setJpegThumbnailSize(jpegThumbSize.width(), jpegThumbSize.height()); } parameters.setPictureFormat(settings.getCurrentPhotoFormat()); CameraSettings.GpsData gpsData = settings.getGpsData(); if (gpsData == null) { parameters.removeGpsData(); } else { parameters.setGpsTimestamp(gpsData.timeStamp); if (gpsData.processingMethod != null) { // It's a hack since we always use GPS time stamp but does // not use other fields sometimes. Setting processing // method to null means the other fields should not be used. parameters.setGpsAltitude(gpsData.altitude); parameters.setGpsLatitude(gpsData.latitude); parameters.setGpsLongitude(gpsData.longitude); parameters.setGpsProcessingMethod(gpsData.processingMethod); } } }
Example 6
Source File: CodeScanner.java From code-scanner with MIT License | 4 votes |
private void initialize() { Camera camera = null; final CameraInfo cameraInfo = new CameraInfo(); final int cameraId = mCameraId; if (cameraId == CAMERA_BACK || cameraId == CAMERA_FRONT) { final int numberOfCameras = Camera.getNumberOfCameras(); final int facing = cameraId == CAMERA_BACK ? CameraInfo.CAMERA_FACING_BACK : CameraInfo.CAMERA_FACING_FRONT; for (int i = 0; i < numberOfCameras; i++) { Camera.getCameraInfo(i, cameraInfo); if (cameraInfo.facing == facing) { camera = Camera.open(i); mCameraId = i; break; } } } else { camera = Camera.open(cameraId); Camera.getCameraInfo(cameraId, cameraInfo); } if (camera == null) { throw new CodeScannerException("Unable to access camera"); } final Parameters parameters = camera.getParameters(); if (parameters == null) { throw new CodeScannerException("Unable to configure camera"); } final int orientation = Utils.getDisplayOrientation(mContext, cameraInfo); final boolean portrait = Utils.isPortrait(orientation); final Point imageSize = Utils.findSuitableImageSize(parameters, portrait ? mHeight : mWidth, portrait ? mWidth : mHeight); final int imageWidth = imageSize.getX(); final int imageHeight = imageSize.getY(); parameters.setPreviewSize(imageWidth, imageHeight); parameters.setPreviewFormat(ImageFormat.NV21); final Point previewSize = Utils.getPreviewSize(portrait ? imageHeight : imageWidth, portrait ? imageWidth : imageHeight, mWidth, mHeight); final List<String> focusModes = parameters.getSupportedFocusModes(); final boolean autoFocusSupported = focusModes != null && (focusModes.contains(Parameters.FOCUS_MODE_AUTO) || focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)); if (!autoFocusSupported) { mAutoFocusEnabled = false; } final Point viewSize = new Point(mWidth, mHeight); if (autoFocusSupported && mAutoFocusEnabled) { Utils.setAutoFocusMode(parameters, mAutoFocusMode); final Rect frameRect = mScannerView.getFrameRect(); if (frameRect != null) { Utils.configureDefaultFocusArea(parameters, frameRect, previewSize, viewSize, imageWidth, imageHeight, orientation); } } final List<String> flashModes = parameters.getSupportedFlashModes(); final boolean flashSupported = flashModes != null && flashModes.contains(Parameters.FLASH_MODE_TORCH); if (!flashSupported) { mFlashEnabled = false; } final int zoom = mZoom; if (zoom != 0) { Utils.setZoom(parameters, zoom); } Utils.configureFpsRange(parameters); Utils.configureSceneMode(parameters); Utils.configureVideoStabilization(parameters); camera.setParameters(parameters); camera.setDisplayOrientation(orientation); synchronized (mInitializeLock) { final Decoder decoder = new Decoder(mDecoderStateListener, mFormats, mDecodeCallback); mDecoderWrapper = new DecoderWrapper(camera, cameraInfo, decoder, imageSize, previewSize, viewSize, orientation, autoFocusSupported, flashSupported); decoder.start(); mInitialization = false; mInitialized = true; } mMainThreadHandler.post(new FinishInitializationTask(previewSize)); }
Example 7
Source File: AndroidCameraOutput.java From sensorhub with Mozilla Public License 2.0 | 4 votes |
@Override public void init() throws SensorException { try { // TODO get closest values from camera characteristics imgWidth = 800; imgHeight = 600; frameRate = 1; // open camera and set parameters camera = Camera.open(cameraId); Parameters camParams = camera.getParameters(); camParams.setPreviewSize(imgWidth, imgHeight); camParams.setPreviewFormat(ImageFormat.NV21); camera.setParameters(camParams); // setup buffers and callback imgArea = new Rect(0, 0, imgWidth, imgHeight); int bufSize = imgWidth*imgHeight*ImageFormat.getBitsPerPixel(ImageFormat.NV21)/8; imgBuf1 = new byte[bufSize]; yuvImg1 = new YuvImage(imgBuf1, ImageFormat.NV21, imgWidth, imgHeight, null); imgBuf2 = new byte[bufSize]; yuvImg2 = new YuvImage(imgBuf2, ImageFormat.NV21, imgWidth, imgHeight, null); camera.addCallbackBuffer(imgBuf1); camera.addCallbackBuffer(imgBuf2); camera.setPreviewCallbackWithBuffer(this); camera.setDisplayOrientation(90); // create SWE Common data structure SWEFactory fac = new SWEFactory(); dataStruct = fac.newDataRecord(2); dataStruct.setName(getName()); Time time = fac.newTime(); time.getUom().setHref(Time.ISO_TIME_UNIT); time.setDefinition(SWEConstants.DEF_SAMPLING_TIME); time.setReferenceFrame(TIME_REF); dataStruct.addComponent("time", time); DataArray img = fac.newDataArray(imgHeight); img.setDefinition("http://sensorml.com/ont/swe/property/VideoFrame"); dataStruct.addComponent("videoFrame", img); DataArray imgRow = fac.newDataArray(imgWidth); img.addComponent("row", imgRow); DataRecord imgPixel = fac.newDataRecord(3); imgPixel.addComponent("red", fac.newCount(DataType.BYTE)); imgPixel.addComponent("green", fac.newCount(DataType.BYTE)); imgPixel.addComponent("blue", fac.newCount(DataType.BYTE)); imgRow.addComponent("pixel", imgPixel); // SWE Common encoding dataEncoding = fac.newBinaryEncoding(); dataEncoding.setByteEncoding(ByteEncoding.RAW); dataEncoding.setByteOrder(ByteOrder.BIG_ENDIAN); BinaryComponent timeEnc = fac.newBinaryComponent(); timeEnc.setRef("/" + time.getName()); timeEnc.setCdmDataType(DataType.DOUBLE); dataEncoding.addMemberAsComponent(timeEnc); //BinaryBlock compressedBlock = fac.newBinaryBlock(); //compressedBlock.setRef("/" + img.getName()); //compressedBlock.setCompression("H264"); BinaryBlock compressedBlock = fac.newBinaryBlock(); compressedBlock.setRef("/" + img.getName()); compressedBlock.setCompression("JPEG"); dataEncoding.addMemberAsBlock(compressedBlock); // resolve encoding so compressed blocks can be properly generated SWEHelper.assignBinaryEncoding(dataStruct, dataEncoding); // start streaming video if (previewSurfaceHolder != null) camera.setPreviewDisplay(previewSurfaceHolder); camera.startPreview(); } catch (Exception e) { throw new SensorException("Cannot access camera " + cameraId, e); } }