当前位置: 首页 > 编程笔记 >

Android中判断是否有前置摄像头、后置摄像头的方法

宫亦
2023-03-14
本文向大家介绍Android中判断是否有前置摄像头、后置摄像头的方法,包括了Android中判断是否有前置摄像头、后置摄像头的方法的使用技巧和注意事项,需要的朋友参考一下

通常我们进行摄像头操作,如扫描二维码需要判断是否有后置摄像头(Rear camera),比如Nexus 7 一代就没有后置摄像头,这样在尝试使用的时候,我们需要进行判断进行一些提示或者处理。

以下代码为一系列的方法,用来判断是否有前置摄像头(Front Camera),后置摄像头。


private static boolean checkCameraFacing(final int facing) {

    if (getSdkVersion() < Build.VERSION_CODES.GINGERBREAD) {

        return false;

    }

    final int cameraCount = Camera.getNumberOfCameras();

    CameraInfo info = new CameraInfo();

    for (int i = 0; i < cameraCount; i++) {

        Camera.getCameraInfo(i, info);

        if (facing == info.facing) {

            return true;

        }

    }

    return false;

}

public static boolean hasBackFacingCamera() {     final int CAMERA_FACING_BACK = 0;     return checkCameraFacing(CAMERA_FACING_BACK); }

public static boolean hasFrontFacingCamera() {     final int CAMERA_FACING_BACK = 1;     return checkCameraFacing(CAMERA_FACING_BACK); }

public static int getSdkVersion() {     return android.os.Build.VERSION.SDK_INT; }

注意:由于getNumberOfCameras以及getCameraInfo均为API 9 引入,所以方法只适用于2.3及其以上。

延伸阅读:http://developer.android.com/reference/android/hardware/Camera.html http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html

 类似资料:
  • 问题内容: 我正在使用来开发iPad2中的前置摄像头应用程序。 当我捕获图像时,它显示为从左向右翻转。 我该如何纠正? 问题答案: 您可以使用源图像翻转图像 编辑: 添加了快速代码

  • 问题内容: 在iOS 10发布之前,我使用以下代码获取录像机的视频和音频捕获: 当iOS 10最终问世时,我在运行代码时收到以下警告。请注意,我的录像机仍可以正常运行约2周。 在iOS 10.0中不建议使用“ devices()”:请改用AVCaptureDeviceDiscoverySession。 今天早上运行代码时,录像机停止工作。xCode8没有给我任何错误,但是相机捕获的PreviewL

  • 问题内容: 在我的相机应用中,您可以在前后相机之间切换。当我使用后置摄像头拍照时,照片与预览显示的一样。但是当我切换到前置摄像头时,图片是镜像的。我认为这与前置摄像头和后置摄像头处于横向模式有关。我已经尝试了几乎所有给定的答案。 如果有人可以向我指出正确的方向,那将真的有帮助。 问题答案: 我找到了答案,这样做没有帮助。我必须镜像生成的位图才能获得所需的结果。我使用Matrix方法来实现这一目标。

  • 表情测试 图片转文字 相框 拍摄图片

  • 摄像头用于采集图像和影像信息,通过模块间的组合完成各种创意活动。 净重量:8.1g 体积:24×24×22mm 参数 分辨率:1280×720 像素大小:3.4um×3.4um 最大图像传输速率:全尺寸 @ 30fps 视场角:100° 镜片结构:4G+IR 焦比:2.97 有效焦距:2.4mm 功耗:100uA(待机)~240mW(工作) 电源:USB总线电源 抗跌落能力:1m 工作温度:-30