2016-06-05 9 views
0
let url:NSURL = NSURL(string: jsonSession[indexPath.row].link)! 
     let player = AVPlayer(URL: url) 
     player.allowsExternalPlayback = true 
     player.usesExternalPlaybackWhileExternalScreenIsActive = true 
     let playerViewController = AVPlayerViewController() 
     playerViewController.player = player 
     self.presentViewController(playerViewController, animated: true) { 
      playerViewController.player!.play() 
     } 

dies mein Code und ich versuche, wenn eine Wiedergabe Ende zu empfehlen, den nächsten Film zu spielen :-)AVPlayer erkennen Wiedergabe Ende

+0

Sie können eine Benachrichtigung verwenden: http://StackOverflow.com/a/12605261/2108547 –

Antwort

0

einfachste Option ist AVQueuePlayer

let items:[AVPlyerItem] = [] 
for session in jsonSession { 
    guard let url = NSURL(string:session.link) else { continue } 
    let item = AVPlayerItem(URL:url) 
    items.add(item) 
} 
let player = AVQueuePlayer(items: items) 
//now you have the player, do what you were doing before 

Zweitens zu verwenden Option ist Key-Value Observing auf zu tun. Es könnte etwas wie

let url:NSURL = NSURL(string: jsonSession[indexPath.row].link)! 
let player = AVPlayer(URL: url) 
NSNotiicationCenter.defaultCenter().addObserver(self, selector#Selector(ViewController.itemDidFinishPlaying), name: AVPlayerItemDidPlayToEndTimeNotification, object: player.currentItem) 
//I assume your ViewController class has a method called itemDidFinishPlaying 

Das sind grobe Codebeispiele, interpretieren wie erforderlich.

+0

die 2. Code geben Sie mir einen Fehler: -/ –

+0

Welchen Fehler? Diese sind auf den Kopf geschrieben, haben nicht nach Kompilierfehlern gesucht, aber es sollte Ihnen eine Idee geben, wie das geht – Max

Verwandte Themen