Android Camera takePicture is using Previews small

2019-04-06 23:15发布

问题:

I am developing a project using OPENCV. I have some process on onCameraFrame. While it shows previews, user can take a photo. But in some devices, I take an error after called takePicture(...) method. What should I do?

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

new symptom: This buffer's size is my frame size, 460800. I logged frame size at onCameraFrame . Every frame's sizes are 460800. As far as I understand, takePicture tries to use previews buffer. And theirs sizes are different.

回答1:

I solved that kind of problem. It seems that on Android 2.2.1 you do have to set camera parameters BEFORE you call

camera.startPreview()

However on later systems like Android 3.2.1 this is no longer an issue (however it could be vendor specific).



回答2:

I solved my problem. I set buffer size to Picture Size. But preview started ridiculous behavior like on some devices not continue preview after takepicture,... For this reason, When I push retake or back button, I close and restart preview.