第7讲 Hardware Level详解 - Android Camera2 API

本讲是Android Camera专题系列的第7讲,我们介绍Android Camera2 API专题的Camera Hardware Level详解部分。

更多资源:

资源 描述
在线课程 极客笔记在线课程
知识星球 星球名称:深入浅出Android Camera
星球ID: 17296815
Wechat 极客笔记圈

为什么要判断是否支持某个Feature

App需要兼容不同的平台、不同的Camera硬件设备

实战经验:任何Camera的功能,在使用前都必须动态判断是否支持

Camera Hardware Level

Hardware Level从宏观上描述Camera设备具备的能力等级。每一个等级都是在前一个等级上增加更多的功能。

LEGACY < LIMITED < FULL < LEVEL_3

Camera Hardware Level

如何判断是否支持某个Camera Hardware Level

// Returns true if the device supports the required hardware level, or better.
 boolean isHardwareLevelSupported(CameraCharacteristics c, int requiredLevel) {
     final int[] sortedHwLevels = {
         CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY,
         CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL,
         CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED,
         CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_FULL,
         CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_3
     };
     int deviceLevel = c.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
     if (requiredLevel == deviceLevel) {
         return true;
     }

     for (int sortedlevel : sortedHwLevels) {
         if (sortedlevel == requiredLevel) {
             return true;
         } else if (sortedlevel == deviceLevel) {
             return false;
         }
     }
     return false; // Should never reach here
 }

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Android Camera2 API