camera2(API 级别 21)是不是暴露了所有旧摄像头?
Posted
技术标签:
【中文标题】camera2(API 级别 21)是不是暴露了所有旧摄像头?【英文标题】:Are all legacy cameras exposed by camera2 (API level 21)?camera2(API 级别 21)是否暴露了所有旧摄像头? 【发布时间】:2015-10-23 07:25:03 【问题描述】:至少在 LEGACY 支持类型中,是否需要所有 API 级别 21 设备来公开所有相机(例如正面、背面)的 camera2 包?
换句话说,android 5 的摄像头在已弃用的 android.hardware.Camera 接口下比在新的 android.hardware.camera2 接口下是否有可能(并且会发生)功能更多,甚至是无法找到相机设备或将其用作 android.hardware.camera2 设备?
【问题讨论】:
确保您了解涵盖相机 API 要求的 Android 兼容性定义文档:static.googleusercontent.com/media/source.android.com/en//… 【参考方案1】:必须通过 android.hardware.camera2 (API2) 以及已弃用的 android.hardware.Camera (API1) 公开相机设备。
但是,在 LEGACY 级别,API1 中可用的某些功能在 API2 中可能不可用。这主要会影响可用的录制分辨率,因为 LEGACY API2 仅限于 API1 中可用的最大预览大小。
此外,API1 的任何 OEM 扩展都无法通过 API2 获得。
【讨论】:
以上是关于camera2(API 级别 21)是不是暴露了所有旧摄像头?的主要内容,如果未能解决你的问题,请参考以下文章
调用需要 API 级别 21(当前最低为 17):android.hardware.camera2.CameraDevice.StateCallback
Camera2用Android API 29中的两个物理流替换一个逻辑流
使用 Camera2(Android 版本 21)API 录制 60fps 视频
Android 已弃用 android.hardware.Camera,现在建议使用 android.hardware.camera2 但这在 API 21 以下的任何内容中均不可用