2015-05-21 7 views
8

Quello che sto cercando di ottenere: accedere contemporaneamente alle telecamere anteriori e posteriori.Accesso simultaneo alle telecamere posteriore e anteriore

Quello che ho cercato: so che Android API per le telecamere non supporta l'uso di più istanze della fotocamera e devi rilasciare una videocamera prima di usare l'altra. Ho letto decine di domande su questo, so che su alcuni dispositivi è possibile (come Samsung S4 o altri nuovi dispositivi da loro). Ho anche scoperto che è possibile avere accesso ad entrambi in Android KitKat su dispositivi SOME. So anche che su api> = 21, utilizzando l'API camera2, è possibile accedervi entrambi allo stesso tempo perché è thread-safe.

Cosa ho ottenuto finora: implementazione per l'accesso alle telecamere una alla volta al fine di fornire un'immagine nell'immagine.

So che non è possibile implementare la doppia fotocamera simultanea su ogni dispositivo, voglio solo un modo per renderlo disponibile per alcuni dispositivi.

Come è possibile verificare se il dispositivo è in grado di accedere a entrambi?

Ho anche cercato una libreria che possa permettermi una cosa del genere, ma non ho trovato nulla. Esiste una tale biblioteca?

Vorrei rendere questa funzione disponibile per quanti più dispositivi possibile e, per gli altri, lascerò lo stato corrente (uno per uno) della funzione.

Qualcuno può aiutarmi, almeno con qualche consiglio?

Grazie !

risposta

10

Le API delle telecamere Android in genere consentono l'utilizzo contemporaneo di più videocamere, ma la maggior parte dei dispositivi non dispone di risorse hardware sufficienti per supportarle nella pratica: ad esempio, è spesso disponibile un solo processore di immagine della fotocamera da entrambe le fotocamere.

Nessuna query è inclusa nelle API di Android che ti diranno in anticipo se puoi utilizzare più videocamere contemporaneamente.

L'unico modo per dire è provare ad aprire una seconda telecamera quando ne hai già una aperta. Se è possibile aprire la seconda videocamera, è possibile fare picture-in-picture, ecc. Se si verifica un'eccezione nel tentativo di aprire la seconda videocamera, quel particolare dispositivo non supporta l'apertura di entrambe le fotocamere.

+0

Grazie, non lo sapevo. Immagino che i nuovi dispositivi Samsung abbiano un processore di immagini per ogni fotocamera. Proverò a implementarlo in questo modo e testarlo su più dispositivi. – DDsix

+0

Samsung S4, S5 e S6 supportano la modalità doppia fotocamera, ma per questo hanno scelto di utilizzare un'API proprietaria; non è nemmeno pubblicato con Samsung Camera SDK. Lo stesso vale per LG Optimus G Pro. * Credo che sia possibile decodificare questa API, ma non l'ho ancora visto accadere. Probabilmente, non c'è abbastanza incentivo. * –

+2

Vedi anche http://stackoverflow.com/a/25144412/192373 –

0

Non è possibile accedere a entrambe le telecamere su tutti i telefoni cellulari Android a causa di limitazioni hardware. L'alternativa migliore può essere utilizzata sia dalla videocamera una alla volta. Per questo è possibile utilizzare un singolo oggetto della telecamera e cambiare la faccia della videocamera per scattare un'altra foto.

Ho fatto questo in una delle mie applicazioni. https://play.google.com/store/apps/details?id=com.ushaapps.bothie

0

E 'possibile utilizzare l'API Camera2 per Android, ma come indicato sopra la maggior parte dei dispositivi non ha il supporto hardware. Se hai un Nexus 5X, Nexus 6 o Nexus 6P funzionerà e potrai provare con questo BothCameras app. Ho implementato il blitter per consentire anche la registrazione video (oltre alle immagini fisse) utilizzando l'encoder hardware h264.