2013-05-21 77 views
7

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

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

新的症状:此缓冲区的大小是我的帧大小,460800.我登录帧大小onCameraFrame。每帧的尺寸是460800.据我所知,takePicture尝试使用预览缓冲区。而他们的大小是不同的。

回答

1

我解决了我的问题。我将缓冲区大小设置为图片大小。但预览开始像在某些设备上的荒谬行为不会在拍摄后继续预览,...因此,当我按重拍或返回按钮时,我关闭并重新启动预览。

1

我解决了这样的问题。 看来,在Android 2.2.1你必须设置相机参数之前,您拨打

camera.startPreview() 

但是对后来的系统如Android 3.2.1这不再是一个问题(但也可能是供应商特定的)。

+0

我已经设置了相机参数.. :(如果我设置了相框尺寸的一半,它可以工作,但我不是正确的方式。 – atasoyh