如何在Android中使用camera2判断相机是否可用
如何在Android中使用camera2 判断相机是否可用?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
十余年的敦煌网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整敦煌建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“敦煌网站设计”,“敦煌网站推广”以来,每个客户项目都认真落实执行。
首先获取到设备等级:
Float hardwareLevel = mCameraCharacteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
LEGACY < LIMITED < FULL < LEVEL_3. 越靠右边权限越大
•INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY = 2
•INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0
•INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1
•INFO_SUPPORTED_HARDWARE_LEVEL_3 = 3
在相应的等级下面会有各自支持的功能,LEGACY为最低权限
在LIMITED中
Additional capabilities may optionally be supported by a LIMITED-level device, and can be checked for in *android.request.availableCapabilities*.
android.request.availableCapabilities
介绍:List of capabilities that this camera device advertises as fully supporting.
int[] ints = mCameraCharacteristics.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
Possible values:
•BACKWARD_COMPATIBLE
•MANUAL_SENSOR
•MANUAL_POST_PROCESSING
•RAW
•PRIVATE_REPROCESSING
•READ_SENSOR_SETTINGS
•BURST_CAPTURE
•YUV_REPROCESSING
•DEPTH_OUTPUT
•CONSTRAINED_HIGH_SPEED_VIDEO
For example manual_semsor:REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR The camera device can be manually controlled (3A algorithms such as auto-exposure, and auto-focus can be bypassed). The camera device supports basic manual control of the sensor image acquisition related stages. This means the following controls are guaranteed to be supported: Manual frame duration control - android.sensor.frameDuration - android.sensor.info.maxFrameDuration Manual exposure control - android.sensor.exposureTime - android.sensor.info.exposureTimeRange Manual sensitivity control - android.sensor.sensitivity - android.sensor.info.sensitivityRange Manual lens control (if the lens is adjustable) - android.lens.* Manual flash control (if a flash unit is present) - android.flash.* Manual black level locking - android.blackLevel.lock Auto exposure lock - android.control.aeLock
这些值对应的特征值举例:
final String name3 = CaptureRequest.SENSOR_FRAME_DURATION.getName();
name3 -》android.sensor.frameDuration
列出这个的意思是,如果想知道该设备是否支持此功能,可以通过getName()获取其包名,然后在
mCameraCharacteristics.getAvailableCaptureRequestKeys();生成的队列中寻找。
如果有匹配则是可控;
CaptureRequest.LENS_FOCUS_DISTANCE;调节焦距
CaptureRequest.CONTROL_AF_MODE;自动对焦模式
CaptureRequest.SENSOR_SENSITIVITY 调节iso
CaptureRequest.CONTROL_AE_MODE 自动曝光模式
关于如何在Android中使用camera2 判断相机是否可用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
网站名称:如何在Android中使用camera2判断相机是否可用
本文URL:http://hbruida.cn/article/gppchc.html