2013-05-21 9 views
7

Sto sviluppando un progetto utilizzando OPENCV. Ho qualche processo su onCameraFrame. Mentre mostra le anteprime, l'utente può scattare una foto. Ma in alcuni dispositivi, prendo un errore dopo aver chiamato il metodo takePicture (...). Cosa dovrei fare?Fotocamera Android takePicture utilizza Anteprime piccolo buffer

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

nuovo sintomo: la dimensione di questo buffer è la mia taglia telaio, 460800. mi sono collegato dimensione del frame a onCameraFrame. Le dimensioni di ogni frame sono 460800. Per quanto ho capito, takePicture cerca di utilizzare il buffer delle anteprime. E le loro dimensioni sono diverse.

risposta

1

Ho risolto il mio problema. Ho impostato la dimensione del buffer su Dimensioni immagine. Ma l'anteprima ha iniziato un comportamento ridicolo come su alcuni dispositivi non continuare l'anteprima dopo il takepicture, ... Per questo motivo, quando spingo il pulsante di ripetizione o di ritorno, chiudo e riavvio l'anteprima.

1

Ho risolto questo tipo di problema. Sembra che su Android 2.2.1 che c'è bisogno di impostare i parametri della telecamera prima di chiamare

camera.startPreview() 

Tuttavia su sistemi successivi come Android 3.2.1 questo non è più un problema (ma potrebbe essere fornitore specifico).

+0

Ho già impostato i parametri della fotocamera .. :(Se imposto la metà delle dimensioni della cornice, funziona, ma non sono nel modo giusto. – atasoyh