2013-05-21 20 views
7

Tôi đang phát triển một dự án sử dụng OPENCV. Tôi có một số quy trình trên onCameraFrame. Trong khi nó hiển thị xem trước, người dùng có thể chụp ảnh. Nhưng trong một số thiết bị, tôi gặp lỗi sau khi gọi phương thức takePicture (...). Tôi nên làm gì?Android Camera takePicture đang sử dụng Xem trước bộ đệm nhỏ

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

triệu chứng mới: Kích thước khung đệm này là kích thước khung hình của tôi, 460800. Tôi đã đăng nhập với kích thước khung hình trênCameraFrame. Mỗi kích thước của khung hình là 460800. Theo như tôi hiểu, takePicture cố gắng sử dụng bộ đệm xem trước. Và kích cỡ của chúng khác nhau.

Trả lời

1

Tôi đã giải quyết được sự cố của mình. Tôi đặt kích thước bộ đệm thành Kích thước hình ảnh. Nhưng xem trước bắt đầu hành vi vô lý như trên một số thiết bị không tiếp tục xem trước sau khi chụp hình, ... Vì lý do này, khi tôi đẩy nút retake hoặc back, tôi đóng và khởi động lại xem trước.

1

Tôi đã giải quyết loại sự cố đó. Dường như trên Android 2.2.1 bạn phải thiết lập các thông số camera TRƯỚC KHI bạn gọi

camera.startPreview() 

Tuy nhiên trên các hệ thống sau này như Android 3.2.1 này không còn là một vấn đề (tuy nhiên nó có thể là nhà cung cấp cụ thể).

+0

Tôi đã đặt thông số máy ảnh .. :(Nếu tôi đặt kích thước khung hình một nửa, nó hoạt động. Nhưng tôi không đúng cách. – atasoyh

Các vấn đề liên quan