2013-07-22 3 views
5

Ho appena iniziato lo sviluppo di Android e ha scritto una semplice applicazione fotocamera utilizzando questo tutorial: http://developer.android.com/guide/topics/media/camera.html#custom-cameraCamera.lock, unlock() gestito automaticamente per te da Android 4.0?

vi ho letto: "Nota: A partire da Android 4.0 (API di livello 14), il Camera.lock() e Camera.unlock() le chiamate vengono gestite automaticamente. "

ma cosa significa? la mia app fotocamera supporta Android 16 (4.1.2) e 17 (4.2.2), ma se scartare il blocco e sbloccare le chiamate ottengo errore da mediarecorder (-19). quindi come lasciare gestire Android? o cosa significa "gestito automaticamente"?

+0

Buona domanda. Ho affrontato lo stesso problema e alla fine ho lasciato le chiamate di blocco/sblocco, perché non riuscivo a farlo funzionare senza questo errore. Può comunque essere correlato con il mio min SDK che era API 15 (4.0.3), nonostante il test (e ottenendo l'errore -19) su 4.2.2 .. – Ewoks

risposta

1

Come android documentation stateslock() viene chiamato automaticamente per voi in MediaRecorder.start(). Penso che non è stato possibile rimuovere la chiamata di sblocco() perché quando il metodo start() chiama il metodo lock() sulla fotocamera, che è bloccato per impostazione predefinita, trova il blocco della fotocamera e quindi sale a RuntimeException.

Dal livello API 14, la telecamera viene bloccata automaticamente per le applicazioni in start(). Le applicazioni possono utilizzare la fotocamera (es: zoom) dopo aver registrato . Non è necessario richiamarlo dopo l'inizio o la fine della registrazione.