我正在开发一个使用Camera2的应用程序,我需要在不影响预览的情况下拍摄照片,但我遇到了问题。
在所有手机中,我可以在显示预览时拍照,但在其中一些预览会暂停冻结,这是我想要避免的。
我的应用可以在某些设备上运行,但不适用于所有设备。起初我以为这是由于硬件支持相机(LEGACY,LIMITED,FULL),但我错了。
在支持全面支持的Nexus 5中,它可以正常工作。在支持LEGACY的华为P8 Lite中,它不起作用。在LQACY支持的BQ Aquaris U中,它有效:S。这三款手机都有API 23。
您可以在拍摄照片时生成控制台日志:https://jpst.it/11qjM
有人知道是什么原因吗?是由于制造商的相机驱动程序?
谢谢!
答案 0 :(得分:1)
作为一名全职开发人员,我花费大部分时间在相机上工作,我可以毫无疑问地说,Camera2API在三星设备上坏了,我认为其他制造商存在问题。有些功能可以在他们的一些手机上工作,而其他功能根本没有,甚至可以获得应用程序在三星设备上可靠工作的基本图像比它的价值更麻烦。使用原始Camera API。你会得到警告,它已弃用,但代码仍然存在。我没有亲自在你列出的那些手机上运行我的应用程序,但它并不让我感到惊讶,它不仅限于三星设备。