2013-05-21 23 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