safe Camera Open - Android Camera

Android examples for Camera:Open Camera

Description

safe Camera Open

Demo Code

/**//  w w w  . j  av  a  2  s  .  c om
 * 
 * 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 Camera mCamera;
    private static int mCameraType;
    private static int mCameraId;
    public static boolean safeCameraOpen(int selectedCamera) {
        if (mCamera != null) {
            Log.e(LogUtil.TAG, "CameraUtil: camera already open");
            return false;
        }
        mCameraType = selectedCamera;
        mCamera = openSelectedCamera(mCameraType);
        if (mCamera == null) {
            Log.e(LogUtil.TAG, "CameraUtil: failed to access camera");
            return false;
        } else {
            return true;
        }
    }
    @SuppressLint("NewApi")
    public static Camera openSelectedCamera(int type) {
        int cameraCount = 0;
        Camera cam = null;
        Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
        cameraCount = Camera.getNumberOfCameras();
        for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
            Camera.getCameraInfo(camIdx, cameraInfo);
            if (cameraInfo.facing == type) {
                try {
                    cam = Camera.open(camIdx);
                    mCameraId = camIdx;
                } catch (RuntimeException e) {
                    Log.e(LogUtil.TAG, "CameraUtil: camera failed to open");
                    Log.e(LogUtil.TAG, e.getLocalizedMessage());
                }
            }
        }

        return cam;
    }
}

Related Tutorials