2012-03-20 30 views
12

Ho giocato con TextureView su alcuni dispositivi Android 4.0. Ad esempio, ho provato a sviluppare una semplice app, che può registrare il video e usa TextureView per la sua anteprima. Tuttavia, per quanto riguarda i documenti API Android, MediaRecorder standard richiede una certa superficie per poter registrare video, ma d'altra parte TextureView non ha più la sua superficie, quindi esiste un'incompatibilità tra TextureView e MediaRecorder.Come registrare il video utilizzando l'anteprima della fotocamera su TextureView

MediaRecorder.setPreviewDisplay

TextureView

Qualcuno sa come registrare video utilizzando MediaRecorder serie con TextureView come anteprima della fotocamera? O c'è un modo per registrare video diversi da MediaRecorder?

Grazie mille.

risposta

8

In base a questo numero, su Jelly Bean e versioni successive, semplicemente non chiamate setPreviewDisplay() e MediaRecorder utilizzerà automaticamente l'anteprima utilizzata da Camera. Posso confermare che non chiamare setPreviewDisplay() funziona, almeno su Android 4.2, quando l'anteprima di Camera è impostata su TextureView. Non ho ancora provato questo su versioni Android precedenti per confermare che 4.1 funziona.

Questo lascia un po 'di lacuna, in quanto i dispositivi Android 3.0-4.0 forse non possono usare TextureView per le anteprime.

+0

sto avendo lo stesso problema, il mio htc uno x con Android 4.0 blocca lo schermo quando si usa textureview come anteprima durante il tentativo di registrare un video con mediarecorder – xiaowoo

+0

Questo ha completamente salvato il mio pomeriggio. Non sarei stato fuori di testa per questo altrimenti. Sembra funzionare su S3, ora proveremo su 3 o 4 altri dispositivi. –

Problemi correlati