Domanda

ho un AVMutableComposition con una traccia video e vorrei aggiungere un fermo immagine nella traccia video, da visualizzare per un certo tempo.L'immagine fissa è semplicemente un PNG.Posso caricare l'immagine come asset, ma questo è tutto, perché l'asset risultante non ha tracce e quindi non può essere semplicemente inserito utilizzando il comando insertTimeRange… metodi.

C'è un modo per aggiungere immagini fisse a una composizione?Sembra che la risposta sia da qualche parte in Core Animation, ma il tutto sembra essere un po' al di sopra delle mie capacità e apprezzerei un esempio di codice o alcuni suggerimenti informativi.

È stato utile?

Soluzione

OK. C'è una grande video chiamato Modifica media con AV Foundation WWDC che spiega molte cose . Non è possibile inserire immagini direttamente alla timeline AVComposition, almeno io non ho trovato alcun modo per farlo. Ma durante l'esportazione o la riproduzione di un bene si può fare riferimento a un AVVideoComposition. Questo non è forse un nome perfetto per la classe, in quanto permette di mixare tra le varie tracce video nel bene, molto simile AVAudioMix fa per l'audio. E la AVVideoComposition ha una proprietà animationTool che ti permette di buttare strati Core Animation (CALayer) nel mix. CALayer ha una proprietà contents che può essere assegnato un CGImageRef. Non aiuta nel mio caso, potrebbe aiutare qualcun altro.

Altri suggerimenti

Ho anche bisogno di immagini fisse nella mia composizione.La mia linea di pensiero è leggermente diversa.Inserisci al volo filmati in nero al posto di quando dovrebbero apparire le immagini (forse uno di questi video sarebbe sufficiente).Aggiungi un riferimento al dizionario a ciascuno di questi inserti, collegando gli intervalli di tempo della composizione alle immagini desiderate in buona fede.Quando arriva l'intervallo di tempo corretto nel mio compositore personalizzato a tempo pieno, estrai l'immagine desiderata e dipingila nel buffer dei pixel di output, ignorando i fotogrammi neri in arrivo dalla composizione.Penso che sarebbe un altro modo di farlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top