2015-03-18 3 views
0

Я использую класс AVPlayer для чтения потоков. Мне нужно следить за воспроизведением.Обнаружение при остановке AvPlayer

Вот мой вопрос: можно ли определить, когда игрок остановлен пользователем?

Я посмотрел на MPMoviePlayerController. Если пользователь остановил видео, этот контроллер отправляет уведомление: MPMovieFinishReasonUserExited. Есть ли эквивалент?

+0

[см] (http://stackoverflow.com/questions/6837002/no-avplayer-delegate-how -to-track-when-song-finished-play-object-c-iphon). Надеюсь это поможет. –

+0

Я пробовал, но уведомление «AVPlayerItemDidPlayToEndTimeNotification» никогда не было у игрока. – tcacciatore

+0

Возможный дубликат [Как определить, когда видео AVPlayer заканчивается?] (Http://stackoverflow.com/questions/29386531/how-to-detect-when-avplayer-video-ends-playing) –

ответ

5

Вы можете контролировать rate недвижимость, добавив наблюдателя на плеер для ключа rate.

Значение 0.0 средств приостанавливает видео, в то время как значение 1.0 игр на естественной скорости текущего элемента.

Apple documentation и this topic.

Надеюсь, это поможет.

0

вот быстры 3 код @ ответ Thlbaut в

self.avPlayer?.addObserver(self, forKeyPath: "rate", options: NSKeyValueObservingOptions(rawValue: 0), context: nil) 

затем

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { 
    if keyPath == "rate" { 
     if let playRate = self.avPlayer?.rate { 
      if playRate == 0.0 { 
       print("playback paused") 
      } else { 
       print("playback started") 
      } 
     } 
    } 
} 
Смежные вопросы