第7讲 Android Camera2 API Hardware Level详解

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

视频在线观看:

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815

为什么要判断是否支持某个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
 }
赞(3)
未经允许不得转载:极客笔记 » 第7讲 Android Camera2 API Hardware Level详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

Android Camera2 API