首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在android中切换前后camera2

在android中切换前后camera2
EN

Stack Overflow用户
提问于 2016-08-04 07:52:55
回答 1查看 1.9K关注 0票数 0

我正在用android.hardware.camera2在安卓系统中制作一个摄像头.

我指的是此链接

但是,我不知道如何切换前相机和后摄像头。

请给我一个建议!

EN

回答 1

Stack Overflow用户

发布于 2016-08-04 12:06:23

首先从设备获取相机in列表,我们可以使用CameraManager来迭代系统中可用的所有相机,每个摄像机都有指定的cameraId。使用cameraId,我们可以得到指定的相机设备的属性。这些属性由类CameraCharacteristics表示。像“是前面还是后面的摄像头”、“支持输出分辨率”之类的东西都可以在那里查询。

代码语言:javascript
运行
复制
  CameraManager manager = (CameraManager) activity.getSystemService(Context.CAMERA_SERVICE);
        try {
            return manager.getCameraIdList();
        } catch (CameraAccessException e) {
            return null;
        }

现在如果你想打开前面的摄像机

代码语言:javascript
运行
复制
 CameraCharacteristics characteristics
                    = manager.getCameraCharacteristics(cameraId);
                Integer facing = characteristics.get(CameraCharacteristics.LENS_FACING);


   if (facing != null && facing == CameraCharacteristics.LENS_FACING_FRONT) {
                //Do your code here (open Camera with Camera ID)
            }

这是另一种直接返回CameraId的方法。

代码语言:javascript
运行
复制
String getFrontFacingCameraId(CameraManager cManager){
for(final String cameraId : cManager.getCameraIdList()){
    CameraCharacteristics characteristics = cManager.getCameraCharacteristics(cameraId);
    int cOrientation = characteristics.get(CameraCharacteristics.LENS_FACING);
    if(cOrientation == CameraCharacteristics.LENS_FACING_FRONT) return cameraId;
}
return null;
}

有关Camera2 Api的更多信息,您可以看到这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38761515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档