Android Camera takePicture正在使用Previews小缓冲区

ata*_*oyh 7 java-native-interface android opencv android-camera

我正在使用OPENCV开发一个项目.我在onCameraFrame上有一些过程.虽然它显示预览,但用户可以拍照.但在某些设备中,我在调用takePicture(...)方法后出错.我该怎么办?

E/Camera-JNI(11783): Manually set buffer was too small! Expected 539380 bytes, but got 460800!
Run Code Online (Sandbox Code Playgroud)

新症状:此缓冲区的大小是我的帧大小460800.我在onCameraFrame上记录了帧大小.每帧的大小都是460800.据我了解,takePicture尝试使用预览缓冲区.他们的尺寸不同.

ata*_*oyh 1

我解决了我的问题。我将缓冲区大小设置为与图片大小相匹配。但是通过预览,它开始显示出一种荒谬的行为,例如在某些设备上,在拍摄预览照片后不再继续,...因此,当我按下重拍或后退按钮时,我会关闭并重新启动预览。它解决了我所有的问题。