android.hardware.Camera.Parameters#setFocusMode ( )源码实例Demo

下面列出了android.hardware.Camera.Parameters#setFocusMode ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: zom-android-matrix   文件: CameraView.java
private void startPreview(SurfaceHolder holder) {
	try {

		Parameters params = camera.getParameters();

		if (params.getSupportedFocusModes().contains(
				Parameters.FOCUS_MODE_AUTO)) {
			params.setFocusMode(Parameters.FOCUS_MODE_AUTO);
		}

		List<Size> previewSizes = camera.getParameters().getSupportedPreviewSizes();
		List<Size> pictureSizes = camera.getParameters().getSupportedPictureSizes();

           params.setPreviewSize(previewSizes.get(previewSizes.size()-2).width,previewSizes.get(previewSizes.size()-2).height);
		params.setPictureSize(pictureSizes.get(pictureSizes.size()-2).width,pictureSizes.get(pictureSizes.size()-2).height);
		camera.setParameters(params);

		camera.setPreviewDisplay(holder);
		camera.startPreview();

		previewConsumer.start(camera);
	} catch(IOException e) {
		Log.e(TAG, "Error starting camera preview", e);
	}
}
 
源代码2 项目: code-scanner   文件: Utils.java
public static void disableAutoFocus(@NonNull final Parameters parameters) {
    final List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes == null || focusModes.isEmpty()) {
        return;
    }
    final String focusMode = parameters.getFocusMode();
    if (focusModes.contains(Parameters.FOCUS_MODE_FIXED)) {
        if (Parameters.FOCUS_MODE_FIXED.equals(focusMode)) {
            return;
        } else {
            parameters.setFocusMode(Parameters.FOCUS_MODE_FIXED);
            return;
        }
    }
    if (focusModes.contains(Parameters.FOCUS_MODE_AUTO)) {
        if (!Parameters.FOCUS_MODE_AUTO.equals(focusMode)) {
            parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
        }
    }
}
 
源代码3 项目: code-scanner   文件: Utils.java
public static void setAutoFocusMode(@NonNull final Parameters parameters,
        final AutoFocusMode autoFocusMode) {
    final List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes == null || focusModes.isEmpty()) {
        return;
    }
    if (autoFocusMode == AutoFocusMode.CONTINUOUS) {
        if (Parameters.FOCUS_MODE_CONTINUOUS_PICTURE.equals(parameters.getFocusMode())) {
            return;
        }
        if (focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
            parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
            return;
        }
    }
    if (Parameters.FOCUS_MODE_AUTO.equals(parameters.getFocusMode())) {
        return;
    }
    if (focusModes.contains(Parameters.FOCUS_MODE_AUTO)) {
        parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
    }
}
 
源代码4 项目: Zom-Android-XMPP   文件: CameraView.java
private void startPreview(SurfaceHolder holder) {
	try {

		Parameters params = camera.getParameters();

		if (params.getSupportedFocusModes().contains(
				Camera.Parameters.FOCUS_MODE_AUTO)) {
			params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
		}

		List<Size> previewSizes = camera.getParameters().getSupportedPreviewSizes();
		List<Size> pictureSizes = camera.getParameters().getSupportedPictureSizes();

           params.setPreviewSize(previewSizes.get(previewSizes.size()-2).width,previewSizes.get(previewSizes.size()-2).height);
		params.setPictureSize(pictureSizes.get(pictureSizes.size()-2).width,pictureSizes.get(pictureSizes.size()-2).height);
		camera.setParameters(params);

		camera.setPreviewDisplay(holder);
		camera.startPreview();

		previewConsumer.start(camera);
	} catch(IOException e) {
		Log.e(TAG, "Error starting camera preview", e);
	}
}
 
源代码5 项目: mollyim-android   文件: CameraView.java
@TargetApi(14)
private void onCameraReady(final @NonNull Camera camera) {
  final Parameters parameters = camera.getParameters();

  if (VERSION.SDK_INT >= 14) {
    parameters.setRecordingHint(true);
    final List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
      parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
    } else if (focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
      parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
    }
  }

  displayOrientation = CameraUtils.getCameraDisplayOrientation(getActivity(), getCameraInfo());
  camera.setDisplayOrientation(displayOrientation);
  camera.setParameters(parameters);
  enqueueTask(new PostInitializationTask<Void>() {
    @Override
    protected Void onRunBackground() {
      try {
        camera.setPreviewDisplay(surface.getHolder());
        startPreview(parameters);
      } catch (Exception e) {
        Log.w(TAG, "couldn't set preview display", e);
      }
      return null;
    }
  });
}
 
源代码6 项目: pixelvisualcorecamera   文件: Camera1Controller.java
/**
 * Configures camera parameters common to all configurations.
 * Must be called before preview started.
 */
public void setDefaultParameters(int displayRotation) {
  Log.i(TAG, "setDefaultParameters");
  assertState(STATE_ACQUIRED,
        "Default parameters may only be set before a preview is started");

  CameraInfo info = new CameraInfo();
  Camera.getCameraInfo(cameraId, info);
  boolean lensFacingFront = (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT);

  int previewOrientationDegrees =
      Orientation.getPreviewOrientation(lensFacingFront, displayRotation, info.orientation);
  camera.setDisplayOrientation(previewOrientationDegrees);
  Parameters params = camera.getParameters();

  // We happen to know the preview sizes available for Pixel 2.
  params.setPreviewSize(Utils.MAX_PREVIEW_WIDTH, Utils.MAX_PREVIEW_HEIGHT);
  params.setRotation(
      Orientation.getOutputOrientation(lensFacingFront, displayRotation, info.orientation));

  // Continuous picture is not supported Pixel 2's front camera.
  List<String> supportFocusModes = params.getSupportedFocusModes();
  if (supportFocusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
    Log.i(TAG, "setting continuous picture focus mode");
    params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
  }

  // HDR+: Flash mode must be off.
  params.setFlashMode(Parameters.FLASH_MODE_OFF);

  // HDR+: Color effect must be none.
  params.setColorEffect(Parameters.EFFECT_NONE);

  // HDR+: White balance must be auto.
  params.setWhiteBalance(Parameters.WHITE_BALANCE_AUTO);

  camera.setParameters(params);
}
 
源代码7 项目: code-scanner   文件: Utils.java
public static void configureFocusModeForTouch(@NonNull final Parameters parameters) {
    if (Parameters.FOCUS_MODE_AUTO.equals(parameters.getFocusMode())) {
        return;
    }
    final List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes != null && focusModes.contains(Parameters.FOCUS_MODE_AUTO)) {
        parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
    }
}
 
源代码8 项目: MegviiFacepp-Android-SDK   文件: OpenglActivity.java
private void autoFocus() {
    if (mCamera != null && isBackCamera) {
        mCamera.cancelAutoFocus();
        Parameters parameters = mCamera.getParameters();
        parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
        mCamera.setParameters(parameters);
        mCamera.autoFocus(null);
    }
}
 
源代码9 项目: deltachat-android   文件: CameraView.java
@TargetApi(14)
private void onCameraReady(final @NonNull Camera camera) {
  final Parameters parameters = camera.getParameters();

  if (VERSION.SDK_INT >= 14) {
    parameters.setRecordingHint(true);
    final List<String> focusModes = parameters.getSupportedFocusModes();
    if (focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
      parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
    } else if (focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
      parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
    }
  }

  displayOrientation = CameraUtils.getCameraDisplayOrientation(getActivity(), getCameraInfo());
  camera.setDisplayOrientation(displayOrientation);
  camera.setParameters(parameters);
  enqueueTask(new PostInitializationTask<Void>() {
    @Override
    protected Void onRunBackground() {
      try {
        camera.setPreviewDisplay(surface.getHolder());
        startPreview(parameters);
      } catch (Exception e) {
        Log.w(TAG, "couldn't set preview display", e);
      }
      return null;
    }
  });
}
 
源代码10 项目: Augendiagnose   文件: Camera1Handler.java
/**
 * Update the focus.
 */
private void updateFocus() {
	if (mCamera != null) {
		Parameters parameters = mCamera.getParameters();
		parameters.setFocusMode(mCurrentFocusMode);
		mCamera.setParameters(parameters);
	}
}
 
源代码11 项目: TikTok   文件: CameraEngine.java
public static void setDefaultParameters(){
        if(camera == null){
            return ;
        }
        Parameters parameters = camera.getParameters();
        if (parameters.getSupportedFocusModes().contains(
                Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
            parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
        }
        Size previewSize = CameraUtils.getLargePreviewSize(camera);
        parameters.setPreviewSize(PREVIEW_WIDTH, PREVIEW_HEIGHT);
        if(!isFrameRateSure && mRealFrameRate == CAMERA_FRAME_RATE){
            List<int[]> fpsList =  parameters.getSupportedPreviewFpsRange();
            int tempFps = 30001;
            for(int i=0;i<fpsList.size();i++){
                int[] fps = fpsList.get(i);
                if(fps[0] == fps[1]){
                    if(fps[0] >= (CAMERA_FRAME_RATE * 1000) && fps[0]<= tempFps){
                        tempFps = fps[0];
                    }
                }
            }
            if(tempFps == 30001){
                mRealFrameRate = CAMERA_FRAME_RATE;
            }else{
                mRealFrameRate = tempFps/1000;
            }
        }
        parameters.setPreviewFpsRange(mRealFrameRate * 1000,mRealFrameRate * 1000);
        parameters.setPreviewFrameRate(mRealFrameRate);
        Size pictureSize = CameraUtils.getLargePictureSize(camera);
        parameters.setPictureSize(pictureSize.width, pictureSize.height);
        parameters.setRotation(getRightCameraOrientation(CameraEngine.cameraID));
//        parameters.setExposureCompensation(-1);
        camera.setParameters(parameters);
//        DebugTool.warn("CameraEngineExposureCompensation:" + parameters.getMinExposureCompensation() + "," + parameters.getMaxExposureCompensation());
//        camera.setDisplayOrientation(getRightCameraOrientation(CameraEngine.cameraID));
//        new Handler().postDelayed(new Runnable() {
//            @Override
//            public void run() {
//                int[] fpsa = new int[2];
//                camera.getParameters().getPreviewFpsRange(fpsa);
//                DebugTool.warn("CameraEnginePreviewFpsAA:" + fpsa[0] + "," + fpsa[1] + "," + camera.getParameters().getPreviewFrameRate());
//            }
//        },2000);
//        if(!isFrameReal && CacheUtil.getInt(AppUtil.getApplicationContext(),FRAME_RATE_KEY,0) == 0){
//            byte[] data = new byte[PREVIEW_WIDTH*PREVIEW_HEIGHT*3/2];
//            camera.addCallbackBuffer(data);
//            camera.setPreviewCallbackWithBuffer(new Camera.PreviewCallback() {
//                @Override
//                public void onPreviewFrame(byte[] data, Camera camera) {
//                    mFrameCount++;
//                    DebugTool.warn("CameraPreviewCallback:" + mFrameCount);
//                    CameraEngine.camera.addCallbackBuffer(data);
//                    if(mFrameStartTime > 0 && System.currentTimeMillis()-mFrameStartTime >= 2000){//开始确定帧率
//                        camera.setPreviewCallbackWithBuffer(null);
//                        isFrameStart = false;
//                        isFrameReal = true;
//
//                        if(mFrameCount>=mRealFrameRate){
//                            if(mFrameCount/2-mRealFrameRate<4){
//                                return ;
//                            }else{
//                                mRealFrameRate = mFrameCount/2 + (5-mFrameCount%5);
//                            }
//                        }
//                        DebugTool.warn("CameraPreviewCallback:mRealFrameRate:" + mRealFrameRate);
//                        return ;
//                    }
//                    if(!isFrameStart){
//                        isFrameStart = true;
//                        mFrameStartTime = System.currentTimeMillis();
//                    }
//                }
//            });
//        }
    }
 
源代码12 项目: Camera2   文件: AndroidCameraAgentImpl.java
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);
        }
    }

}
 
源代码13 项目: VideoCamera   文件: CameraWrapper.java
public void enableAutoFocus() {
    final Parameters params = mNativeCamera.getNativeCameraParameters();
    params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
    mNativeCamera.updateNativeCameraParameters(params);
}
 
源代码14 项目: LandscapeVideoCamera   文件: CameraWrapper.java
public void enableAutoFocus() {
    final Parameters params = mNativeCamera.getNativeCameraParameters();
    params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
    mNativeCamera.updateNativeCameraParameters(params);
}
 
源代码15 项目: OnionCamera   文件: CameraWizard.java
public void setAutofocus() {
    Parameters parameters = camera.getParameters();
    parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
    camera.setParameters(parameters);
}