当前位置:首页 » 安卓系统 » android判断摄像头

android判断摄像头

发布时间: 2022-09-19 06:25:33

Ⅰ android Camera 如何判断当前使用的摄像头是前置还是后置

可以通过:
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(cameraId, info);
判断使用是前置还是后置摄像头,可以通过if (info.facing == CameraInfo.CAMERA_FACING_FRONT) 来判断
如果是已经打开的camera实例的话,可以通过
CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
if(mCameraId == CameraInfo.CAMERA_FACING_FRONT) 来判断

Ⅱ android camera如何判断当前使用的摄像头是前置还是后置

现在 android 平台的智能手机一般都标配有两颗摄像头。在 Camera 中都存在摄像头切换的功能。
并且有一些功能前后置摄像头上会有所不同。譬如人脸检测,人脸识别,自动对焦,闪光灯等功能,
如果前置摄像头的像素太低,不支持该功能的话,就需要在前置摄像头上关掉该 feature.

那么是如何判断并切换前后置摄像头的呢?
我们先来看下 CameraInfo 这个类,

[java] view plain
/**
* Information about a camera
*/
public static class CameraInfo {
/**
* The facing of the camera is opposite to that of the screen.
*/
public static final int CAMERA_FACING_BACK = 0;

/**
* The facing of the camera is the same as that of the screen.
*/
public static final int CAMERA_FACING_FRONT = 1;

/**
* The direction that the camera faces. It should be
* CAMERA_FACING_BACK or CAMERA_FACING_FRONT.
*/
public int facing;

/**
* <p>The orientation of the camera image. The value is the angle that the
* camera image needs to be rotated clockwise so it shows correctly on
* the display in its natural orientation. It should be 0, 90, 180, or 270.</p>
*
* <p>For example, suppose a device has a naturally tall screen. The
* back-facing camera sensor is mounted in landscape. You are looking at
* the screen. If the top side of the camera sensor is aligned with the
* right edge of the screen in natural orientation, the value should be
* 90. If the top side of a front-facing camera sensor is aligned with
* the right of the screen, the value should be 270.</p>
*
* @see #setDisplayOrientation(int)
* @see Parameters#setRotation(int)
* @see Parameters#setPreviewSize(int, int)
* @see Parameters#setPictureSize(int, int)
* @see Parameters#setJpegThumbnailSize(int, int)
*/
public int orientation;
};

见名知义,它就是一个 Camera 信息类。它是通过与屏幕的方向是否一致来定义前后置摄像头的。

与屏幕方向相反即为 BACK_FACING_CAMERA
与屏幕方向一致即为 FRONT_FACING_CAMERA
那么在代码中我们是如何获取当前使用的 CamerInfo 呢

[java] view plain
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(cameraId, info);
当然,使用该代码的前提是要 import android.hardware.Camera.CameraInfo;

判断使用是前置还是后置摄像头,可以通过if (info.facing == CameraInfo.CAMERA_FACING_FRONT) 来判断。
当Camera 的实例已经创建了的情况下,则需要通过如下方式来判断。

[java] view plain
CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
//stopFaceDetection();
}

也可以通过 if(mCameraId == CameraInfo.CAMERA_FACING_FRONT) 来判断。
其中 mCameraId 是当前使用的 CameraId, 一般前置为1, 后置为 0。

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

下面的代码为一系列的方法,用来判断是否有前置摄像头(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及其以上。

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

以下代码为一系列的方法,用来判断是否有前置摄像头(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及其以上。

Ⅳ android Camera 如何判断当前使用的摄像头是前置还是后置

可以通过:
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(cameraId, info);
判断使用是前置还是后置摄像头,可以通过if (info.facing == CameraInfo.CAMERA_FACING_FRONT) 来判断
如果是已经打开的camera实例的话,可以通过
CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
if(mCameraId == CameraInfo.CAMERA_FACING_FRONT) 来判断

Ⅵ 检查Android是否具有摄像头

import android.hardware.Camera;
import android.hardware.Camera.CameraInfo;
import android.os.Build;
public class CameraUtils {
/**
* 检测是否有前置摄像头
* @return
*/
public static boolean hasFrontFacingCamera() {
final int CAMERA_FACING_BACK = 1;
return checkCameraFacing(CAMERA_FACING_BACK);
}

/**
* 检测是否有后置摄像头
* @return
*/
public static boolean hasBackFacingCamera() {
final int CAMERA_FACING_BACK = 0;
return checkCameraFacing(CAMERA_FACING_BACK);
}

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 int getSdkVersion() {
return android.os.Build.VERSION.SDK_INT;
}
}

Ⅶ Android怎么判断打开摄像头权限被禁用

一、安卓
1.360手机卫士
底部安全防护>隐私行为监控>软件隐私权限管理>要禁止的应用>取消勾选“拍照/摄像”
2.LBE
权限管理(主界面往下拖动)>拍照和录像>取消勾选要禁止的应用
3.小米MIUI
安全中心>授权管理>应用权限管理>隐私相关>取消勾选“拍照和录像”
4.魅族Flyme
设置>应用控制(四个小方格图标)>权限>要禁止的应用>取消勾选“摄像头(拍照/录像)”
其他的第三方安全软件的设置方法也大同小异。
二、苹果
依次点击:设置>隐私>相机>关闭不需要用到相机的APP使用权限

望采纳,谢谢。

热点内容
qb充值源码 发布:2025-01-11 10:00:21 浏览:27
c语言元编程 发布:2025-01-11 09:53:02 浏览:343
线切割割圆怎么编程 发布:2025-01-11 09:52:23 浏览:171
怎么选女孩子的配置 发布:2025-01-11 09:47:33 浏览:671
python获取header 发布:2025-01-11 09:47:32 浏览:492
iis7上传大小 发布:2025-01-11 09:41:38 浏览:507
拍摄脚本是什么工作 发布:2025-01-11 09:39:12 浏览:786
魅族安卓8什么时候更新 发布:2025-01-11 09:27:58 浏览:362
电脑板我的世界登录密码多少 发布:2025-01-11 09:15:43 浏览:284
编译原理和是非终结符吗 发布:2025-01-11 09:15:42 浏览:252