Sto tentando di consentire agli utenti di poter scorrere i video, modificando l'URL di AVPlayer in tempo reale senza aggiornare la visualizzazione. Tuttavia, al momento sto solo istanziando oggetti AVPlayer ogni volta che viene riprodotto un video (con conseguente riproduzione audio tra di loro), che ritengo non sia il modo migliore per farlo. C'è un modo più efficiente simile a cambiare l'immagine in un imageView?Riprodurre video dal nuovo URL senza creare un nuovo oggetto AVPlayer
Questo è il codice dove gioco la clip:
player = AVPlayer(URL: fileURL)
playerLayer = AVPlayerLayer(player: player)
playerLayer!.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer!)
player!.play()
Come ho già detto, non accedere all'oggetto AVPlayer dopo la creazione; piuttosto, funziona solo con il suo currentItem. –
@JamesBush In effetti il tuo è un metodo migliore. Un'altra opzione consiste nell'utilizzare un AVQueuePlayer, aggiungere tutti gli URL possibili di un array AVPlayerItems, quindi inserire tale array nella coda e riordinare l'array al volo. Ciò consentirà al prossimo video in linea di iniziare il buffering mentre il video precedente è ancora in riproduzione – MikeG
Oppure: [self.player prerollAtRate: 1.0 completionHandler:^(BOOL terminato) { [riproduzione self.player]; [self.player setRate: 1.0]; }]; –