获取摄像头的数量以及前后区分

要处理settings界面去展示摄像头数量,查了一遍网上发现没有一个能打的,哦,不,提供的答案都不行,没办法,只能自己来了。

val cameraManager = this.getSystemService(Context.CAMERA_SERVICE) as CameraManager
for (cameraId in cameraManager.getCameraIdList()) {
   val characteristics: CameraCharacteristics = cameraManager.getCameraCharacteristics(cameraId)
   // Find front or rear facing camera
   val facing = characteristics.get(CameraCharacteristics.LENS_FACING)
   // Get default camera pixel
   val size = characteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE)
   // Get Max camera pixel
   val maxSize = characteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE_MAXIMUM_RESOLUTION)
   Log.i("TAG1", "ACTIVE_ARRAY_SIZE: wxh=" + size?.width() + "x" + size?.height() + ",mwxmh=" + maxSize?.width() + "x" + maxSize?.height());
            
   //获取摄像头数量并且区分前后摄像头逻辑
   //可以用是否有physicalid过滤掉逻辑id,再用lens_facing判断前后
   val physicalCameraIds: Set<String> = characteristics.getPhysicalCameraIds()
   val facing = mCameraCharacteristics.get(CameraCharacteristics.LENS_FACING)
   Log.i(TAG, "physicalCameraIds=: " + physicalCameraIds+", facing="+facing)
}

关于物理id和逻辑id去判断前后摄像头的数量

如上所示,可以用是否有physicalid过滤掉逻辑id,再用lens_facing判断前后,然后就可以知道当前摄像头的数量了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值