Android examples for Camera:Camera Feature
configure Camera Parameters
/**/*from ww w . j a v a 2s. com*/ * * Funf: Open Sensing Framework Copyright (C) 2010-2011 Nadav Aharony, Wei Pan, Alex Pentland. * Acknowledgments: Alan Gardner Contact: nadav@media.mit.edu * * Author(s): Pararth Shah (pararthshah717@gmail.com) * * This file is part of Funf. * * Funf is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser * General Public License as published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * Funf is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser * General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with Funf. If not, * see <http://www.gnu.org/licenses/>. * */ import android.annotation.SuppressLint; import android.content.Context; import android.content.res.Configuration; import android.hardware.Camera; import android.hardware.Camera.Parameters; import android.os.Build; import android.util.Log; import android.view.Surface; public class Main{ private static final String CAMERA_PARAM_ORIENTATION = "orientation"; private static final String CAMERA_PARAM_LANDSCAPE = "landscape"; private static final String CAMERA_PARAM_PORTRAIT = "portrait"; private static Camera mCamera; private static int mCameraAngle; public static void configureCameraParameters(Context context, int rotation) { Parameters cameraParams = mCamera.getParameters(); if (Build.VERSION.SDK_INT < Build.VERSION_CODES.FROYO) { // for 2.1 and before if (isPortrait(context)) { cameraParams.set(CAMERA_PARAM_ORIENTATION, CAMERA_PARAM_PORTRAIT); mCameraAngle = 90; } else { cameraParams.set(CAMERA_PARAM_ORIENTATION, CAMERA_PARAM_LANDSCAPE); mCameraAngle = 0; } } else { // for 2.2 and later switch (rotation) { case Surface.ROTATION_0: // This is display orientation mCameraAngle = 90; // This is camera orientation break; case Surface.ROTATION_90: mCameraAngle = 0; break; case Surface.ROTATION_180: mCameraAngle = 270; break; case Surface.ROTATION_270: mCameraAngle = 180; // image break; default: mCameraAngle = 90; break; } Log.d(LogUtil.TAG, "angle: " + mCameraAngle); mCamera.setDisplayOrientation(mCameraAngle); } cameraParams.setRecordingHint(true); mCamera.setParameters(cameraParams); } public static boolean isPortrait(Context context) { return (context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT); } }