【发布时间】:2017-07-13 14:25:46
【问题描述】:
我正在使用 Camera2 开发一个应用,我需要在不影响预览的情况下拍摄照片,但我遇到了问题。
在所有手机中,我可以在显示预览时拍照,但在其中一些手机中,预览会冻结片刻,这是我想要避免的。
我的应用适用于某些设备,但不适用于所有设备。起初我以为是硬件支持摄像头(LEGACY、LIMITED、FULL)的原因,但我错了。
在完全支持的 Nexus 5 中,它可以工作。在具有 LEGACY 支持的华为 P8 Lite 中,它不起作用。在具有 LEGACY 支持的 BQ Aquaris U 中,它可以工作:S。这三款手机都有 API 23。
这里有拍照时产生的控制台日志:https://jpst.it/11qjM
有人知道是什么原因吗?是不是因为厂家的摄像头驱动?
谢谢!
【问题讨论】:
-
在您的示例中,损坏的设备本身不支持 YUV 捕获格式,而是转换为 JPEG。我不知道如何可靠地检查相机通过仿真提供的格式。
-
所有设备都支持YUV捕获格式。但是为了使用 LEGACY 设备拍摄最高分辨率的照片,您必须使用 JPEG。请参阅以下链接中的表格:ibb.co/cOTnZa PRIV - PREVIEW 是屏幕中显示的预览。并且要在第二个目标中具有最大尺寸,它必须是 JPEG。谢谢!
-
对不起,这张表的来源是什么?
-
我认为 Target 列指的是您的实验设备。但它是开发人员的背景。文档,我还是不明白什么是Target 1和Target 2。