android相机api版本,如何使用Android的相机或camera2 API来支持新旧API版本而不需要弃用备注?...

本文探讨了在Android中选择使用Camera1还是Camera2 API的问题。作者指出,尽管Camera2提供了更高级的功能,但不同厂商的实现可能存在bug和不一致性。建议根据设备硬件级别检查是否支持Camera2,如果硬件级别为LEGACY,则应使用Camera1。内容还提到了一些设备特定的问题,如S6不支持闪光灯和LG设备报告的不准确图像大小支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

slott..

38

将所需的所有方法放在界面中,然后创建一个这样的相机实例

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

Log.d(TAG, "camera2 selected");

this.camera = new Camera2(getContext());

} else {

Log.d(TAG, "camera1 selected");

this.camera = new Camera1(getContext());

}

通过这种方式,您可以将所有东西分开,这将使您的生活变得更加轻松.

建议 - 与camera2的生活并不是那么好.Venders仍然会进行垃圾实现,因此您必须添加许多条件和变通方法.

示例1 - S6报告它不支持闪存:)示例2 - LG设备报告支持的图像大小列表 - 但并非所有这些都实际支持!!

这是真的.相机2 API实际上将相机设备分为三类:LEGACY,LIMITED和FULL.如果摄像机被归类为LEGACY,那么所有的camera2 API调用都会被翻译成camera1,因此它真的不值得打扰.我的建议是调用`CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraID); if(characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL)== CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY)...`并选择旧的API(如果是). (14认同)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值