Я использую AVPlayerViewController, который я хочу затухать, когда видео заканчивается ... Я могу записать событие конца видео, и я собираю код для работы AVPlayer, но для AVPlayerViewController нет.Затухание AVPlayerViewController при завершении
self.playerItem = AVPlayerItem(URL: videoURL)
self.player = AVPlayer(playerItem: self.playerItem)
self.playerLayer = AVPlayerLayer(player: self.player)
self.streamPlayer = AVPlayerViewController()
self.streamPlayer.player = self.player
self.streamPlayer.view.frame = CGRect(x: 128, y: 222, width: 512, height: 256)
Этот код работает тоже, но идет полный Экран- я не хочу весь экран ...
//self.presentViewController(self.streamPlayer, animated: true) {
// self.streamPlayer.player!.play()
//}
Я использую это?
self.view.addSubview(self.streamPlayer.view)
self.streamPlayer.player!.play()
Захват событий ..
override func viewWillAppear(animated: Bool) {
NSNotificationCenter.defaultCenter().addObserver(self, selector: "finishedPlaying:", name: AVPlayerItemDidPlayToEndTimeNotification, object: playerItem)
}
Код события ...
функ finishedPlaying (myNotification: NSNotification) {
let fadeOut = CABasicAnimation(keyPath: "opacity")
fadeOut.fromValue = 1.0
fadeOut.toValue = 0.0
fadeOut.duration = 8.0
fadeOut.delegate = self
fadeOut.setValue("video", forKey:"fadeOut")
fadeOut.removedOnCompletion = false
fadeOut.fillMode = kCAFillModeForwards
Эта линия не делает ничего с AVPlayerViewController/С AVPlayer он сильно исчезает?
playerLayer.addAnimation(fadeOut, forKey: nil)
Это просто удаляет AVPlayerViewController, планируйте B, если я не могу сделать эту работу!
//self.streamPlayer.view.removeFromSuperview()
print("VIDEO finished")
}