Cerrar Subview del reproductor de video si se reproduce el video Swift iOS

Intento dejar que mi reproductor de video se cierre después de reproducir el video.

func playVideoPepper() { var maxVideoCount:Int = 5 //AnzahlderVideos var Random = Int(arc4random_uniform(maxVideoCount + 0)) var VideoNumber = Random + 1 let path = NSBundle.mainBundle().pathForResource("pepper\(VideoNumber)", ofType:"mp4") let url = NSURL.fileURLWithPath(path!) moviePlayer = MPMoviePlayerController(contentURL: url) if let player = moviePlayer { player.view.frame = self.view.bounds player.prepareToPlay() player.scalingMode = .AspectFill player.controlStyle = .None self.view.addSubview(player.view) var time = player.duration println(time) } } 

Traté de entender cuánto time se reproduce uno de los videos (random de 5 videos) con .duration o .playableduration pero ambos me dan un 0.00 ¿hay alguna forma fácil de eliminar el SubView si se reproduce el video?

MPMoviePlayerPlaybackDidFinishNotification suscribirse a MPMoviePlayerPlaybackDidFinishNotification , del MPMoviePlayerController . Esta notificación se publica cuando el jugador termina de reproducir el video.

Puede agregar el controller como un observador en el método viewWillAppear :

 NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("playerDidFinish:"), name: MPMoviePlayerPlaybackDidFinishNotification, object: player) 

No olvide quitar el controller del centro de notifications, esto generalmente se hace en el método viewWillDisappear :

 NSNotificationCenter.defaultCenter().removeObserver(self) 

Ver documentos de MPMoviePlayerController aquí