安卓(Android) 怎么实现一种通过 Facing 获取相机对象实例的安全方法

2019年10月27日21:18:36安卓(Android) 怎么实现一种通过 Facing 获取相机对象实例的安全方法已关闭评论 479 683字阅读2分16秒

1.简介

安卓(Android) 怎么实现一种通过 Facing 获取相机对象实例的安全方法?——请看下文。

2.示例代码

/**
 * 版权所有 编程十万个怎么办(www.tah1986.com)
 */

import android.hardware.Camera;

public class Main {
  public static int mOrientationOfCameraImage = 0;

  
  public static Camera getCameraInstance(int facing) {

    if (facing != Camera.CameraInfo.CAMERA_FACING_BACK && facing != Camera.CameraInfo.CAMERA_FACING_FRONT) {
      return null;
    }

    Camera camera = null;
    int number = 3;
    for (int i = 0; i < number; i++) {
      Camera.CameraInfo ci = new Camera.CameraInfo();
      Camera.getCameraInfo(i, ci);
      if (ci.facing == facing) {
        try {
          camera = Camera.open(i);
          mOrientationOfCameraImage = ci.orientation;
          
        } catch (Exception e) {
          e.printStackTrace();
        }
        break;
      }
    }

    return camera;
  }

  
  public static int getNumberOfCameras() {
    return Camera.getNumberOfCameras();
  }
}