2010-09-07 18 views
21

È possibile avere un video QuickTime con livello alfa (trasparenza) riprodotto su uno sfondo dinamico statico UIView (ad esempio una vista che cambia occasionalmente) sull'iPad?Video iPad con trasparenza

Grazie!

+1

non ho visto una soluzione a questo ovunque. Mi piacerebbe sovrapporre un video su una parte dell'interfaccia. o almeno su uno sfondo colorato personalizzato. – koregan

+0

È possibile creare un livello video trasparente utilizzando QuickTime Pro: http://docs.info.apple.com/article.html?artnum=42599. Non sono sicuro che la trasparenza rimarrà su un dispositivo iOS. –

+1

Ciao. Hai trovato una soluzione per questo? Dove è possibile riprodurre video trasparenti su iOS? – nico

risposta

0

prima il video ha bisogno di trasparenza: http://docs.info.apple.com/article.html?artnum=42599

IMHO: Penso che il VideoComponent ha un colore di sfondo solido (nero) si dovrà impostare a [UIColor clearColor] Dovete provare, non sono sicuro se funziona.

applausi endo

-1

penso che si può fare video trasparente, durante la riproduzione del video regolare l'alpha di vista da 0.0 a 1.0. per esempio 0.50. Dopo aver riprodotto il video, modifica l'alfa della vista a 1.0.

1

MPMoviePlayerController ha una proprietà backgroundView. Lo stato dei documenti:

Questa vista fornisce il contenuto di supporto, in cima al quale viene visualizzato il contenuto del film. È possibile aggiungere sottoview alla vista di sfondo se si desidera visualizzare il contenuto di sfondo personalizzato.

Non l'ho provato, ma se il contenuto del video stesso ha alfa, sembra che questa vista dovrebbe apparire. Se si imposta tale visualizzazione per cancellare, potrebbe funzionare solo ...

0

Si potrebbe avere un video normale e ridurre l'alfa della vista di presentazione. Questo può essere fatto usando un AVPlayer e AVPlayerLayer aggiungendo il AVPlayerLayer a UIView e impostando l'alfa del UIView. Qualcosa di simile:

self.player = [[AVPlayer alloc] initWithURL:url]; 
self.playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player]; 
self.playerLayer.frame = view.bounds; 
...etc... 
self.playerView.alpha = 0.3; 
[self.playerView.layer addSublayer:self.playerLayer]; 

non ho provato questo con il canale alfa nel video stesso, ma AVPlayerLayer dovrebbe funzionare per quello.

+0

non chiaro - Ho un video con canale alfa. Voglio sovrapporre quel video sul mio sfondo (diciamo rosa). Dovrei ridurre alfa della vista di sfondo allora? .. – avs099

+0

Se le informazioni alfa sono codificate nel video, non dovresti avere bisogno di ridurre l'alfa in nessuna delle viste (o l'UIView che contiene AVPlayerLayer o qualsiasi UIViews sotto). Riduci solo l'alfa di UIView che presenta AVPlayerLayer se le informazioni alfa non sono codificate nel video stesso. –

+0

Il manifesto originale sta chiedendo su un video con un canale alfa che controlla alpha su una base di pixel per pixel, che è utile per le sovrapposizioni. L'impostazione dell'alfa per tutti i pixel in un video non è una soluzione equivalente e non affronta la domanda originale. – MoDJ

3

Solo per chiarire la disinformazione, non è possibile utilizzare un video con un canale alfa utilizzando la logica video integrata in iOS. Puoi creare un film Quicktime codificato con il codec Animazione e caricare il video in una vista o in un livello usando AVAnimator. Quello che non puoi fare è creare un video H264 con un canale alfa, che semplicemente non è supportato da iOS.

display movies with an alpha channel under iOS

+1

+1 H264 su iOS non supporta alfa. – Till

+0

[AVAnimator] (http://www.modejong.com/AVAnimator/) funziona meglio per questo caso d'uso. Richiede la transcodifica in APNG o nel proprio formato, ma è abbastanza veloce per un video 30fps uniforme con alfa. biblioteca –

+0

di MoDJ ha bisogno di una licenza commerciale, ha invece coinvolto passi in più e non ha quel grande prestazione (estrazione 7z, traccia video in più, ecc) Ecco una soluzione che utilizza libreria open source gratuito, funziona interamente sulla GPU (grande prestazione anche con grandi video) e richiede solo due cose: - Immagine trasparente (PNG o nel codice) - Invece di uno sfondo trasparente, verde per il video http://stackoverflow.com/questions/33244347/video- con-gpuimagechromakeyfilter-ha-tinta-quando-giocato-in-trasparente-gpuimagev/33.255.662 –

Problemi correlati