2014-12-05 18 views
12

C'è un modo per avere Android riprodurre video con aree trasparenti? Quando provo a riprodurre un video WebM contenente aree trasparenti in VideoView, lo sfondo della vista rimane nero. Invece del nero mi aspetterei di vedere lo sfondo della vista genitore mostrata attraverso le aree trasparenti.Video con trasparenza su Android

L'unica soluzione di lavoro che ho trovato finora è creare un'animazione disegnabile dai fotogrammi video, che non è molto efficiente in termini di memoria.

+0

Quindi vuoi che la tua attività - Lo sfondo sia trasparente e solo la Vista Video dovrebbe essere visibile all'utente? Cosa hai provato? Forse ho una soluzione .. – Mike

+1

No, voglio riprodurre un video con aree trasparenti, in modo che lo sfondo della vista genitore sia visto attraverso il video. – hleinone

+0

È possibile decodificare i frame su SurfaceTexture con MediaCodec, quindi eseguire il rendering della texture con GLES. Ciò richiederebbe che il codec video decodifichi in un formato di trama che supporti alpha. Non ho idea se lo farà. – fadden

risposta

1

So che è un po 'tardi, ma forse può aiutare comunque.

Il modo migliore che posso immaginare per ottenere questo risultato è l'utilizzo di OpenGL ES: si esegue il rendering del video attraverso una superficie e si scrive un piccolo ombreggiatore che rimuove le aree di colore che si desidera rimuovere. Puoi trovare diversi esempi per questa tecnica sul web, forse questo link può fornire alcuni kickstart: First steps in creating a chroma key effect using android camera

Problemi correlati