android Camera 如何判断当前使用的摄像头是前置还是后置
2015-02-13 16:03
267 查看
并且有一些功能前后置摄像头上会有所不同。譬如人脸检测,人脸识别,自动对焦,闪光灯等功能,
如果前置摄像头的像素太低,不支持该功能的话,就需要在前置摄像头上关掉该 feature.
那么是如何判断并切换前后置摄像头的呢?
它就是一个 Camera 信息类。它是通过与屏幕的方向是否一致来定义前后置摄像头的。
与屏幕方向相反即为 BACK_FACING_CAMERA
与屏幕方向一致即为 FRONT_FACING_CAMERA
那么在代码中我们是如何获取当前使用的 CamerInfo 呢
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(cameraId, info);
当然,使用该代码的前提是要 import android.hardware.Camera.CameraInfo;
判断使用是前置还是后置摄像头,可以通过if (info.facing == CameraInfo.CAMERA_FACING_FRONT) 来判断。
当Camera 的实例已经创建了的情况下,则需要通过如下方式来判断。
CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId];
if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
//stopFaceDetection();
}
也可以通过 if(mCameraId == CameraInfo.CAMERA_FACING_FRONT) 来判断。
其中 mCameraId 是当前使用的 CameraId, 一般前置为1, 后置为 0。
如果前置摄像头的像素太低,不支持该功能的话,就需要在前置摄像头上关掉该 feature.
那么是如何判断并切换前后置摄像头的呢?
它就是一个 Camera 信息类。它是通过与屏幕的方向是否一致来定义前后置摄像头的。
与屏幕方向相反即为 BACK_FACING_CAMERA
与屏幕方向一致即为 FRONT_FACING_CAMERA
那么在代码中我们是如何获取当前使用的 CamerInfo 呢
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(cameraId, info);
当然,使用该代码的前提是要 import android.hardware.Camera.CameraInfo;
判断使用是前置还是后置摄像头,可以通过if (info.facing == CameraInfo.CAMERA_FACING_FRONT) 来判断。
当Camera 的实例已经创建了的情况下,则需要通过如下方式来判断。
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 Camera 如何判断当前使用的摄像头是前置还是后置
- android Camera 如何判断当前使用的摄像头是前置还是后置
- android Camera 如何判断当前使用的摄像头是前置还是后置
- android Camera 如何判断当前使用的摄像头是前置还是后置
- android Camera 如何判断当前使用的摄像头是前置还是后置
- android Camera 如何判断当前使用的摄像头是前置还是后置
- android Camera 如何判断当前使用的摄像头是前置还是后置
- 使用UAParser在C#MVC项目中如何判断用户是在用什么设备进行访问(手机,平板还是普通的电脑)
- 安卓如何通过APP来判断用户使用的模拟器还是真正的安卓设备
- iOS 如何判断当前页面是push进入还是present进入
- JS如何判断用户使用安卓还是苹果
- 用C++写个程序,如何判断一个操作系统是16位还是32位的?不能用sizeof()函数?(不用sizeof()函数求当前主机上的一个int占用几个字节)
- php如何判断当前的操作系统是linux还是windows
- php如何判断当前的操作系统是linux还是windows
- 如何判断当前设备是pad还是phone
- 如何判断应用程序是以管理员身份运行,和如何判断应用程序是以提升的权限来启动的,还是正在使用筛选的令牌运行
- 如何判断当前主机是物理机还是虚拟机?
- 如何判断当前主机是物理机还是虚拟机?
- 如何在代码中判断当前设备是iPhone 4/4S还是iPhone 5?