我正在开发一个自定义相机应用程序,当我尝试拍摄更高分辨率的照片时,我的 jpeg 回调永远不会被调用。我运行 logcat,我看到这条消息:
E/Camera-JNI(14689):手动设置的缓冲区太小!预期为 1473253 字节,但得到了 768000!
据我所知,我不会手动设置拍照的缓冲区大小,但我会调用 addCallbackBuffer 来捕获预览图像。
那些用于拍照和预览的缓冲区是否相同?android 开发者文档中的描述说“将预分配的缓冲区添加到预览回调缓冲区队列”。它使用了“预览”这个词,所以我认为它与 takePicture() 没有任何关系。
那么它所说的这个手动分配的缓冲区是从哪里来的呢?