我试图在我的应用程序中实现一个突发模式相机,它可以以每秒5-10(或更多)个快照的速度拍摄多张照片。
仅供参考,我已经看到了前面的问题here,here和here-快速尝试但失败了。此外,这些问题都是老问题,没有解决所有问题的全面答案,如如何管理堆等。
如果有人能提供有用的指针、最佳实践或SSCCE帮助,我将不胜感激。
更新:
尝试以每秒15+快照的速度拉预览帧,但
问题是预览大小有限。在Nexus 5上我只能得到
1920x1080,约为2mp,而全分辨率图像可能在
N5是8MP:-(
最佳答案
我认为问题的一个主要部分是:突发模式在当前手机中是如何工作的?一些博客指出,谷歌已经确认,他们将添加一个突发模式的api。
我怀疑当前的实现是通过将曝光时间设置为最小并在循环中调用takepicture或使用Camera.PreviewCallback
我在一些计算机视觉项目中玩过后者,碰巧想用这个api编写一个突发模式的相机。您可以将从camera.previewCallback接收的缓冲区存储在内存中,并在后台线程上处理它们。
如果我没记错的话,分辨率比相机的实际分辨率要低,所以这可能不太理想。