Проверьте, воспроизводится ли AVQueuePlayer?

#avaudioplayer #avqueueplayer

#avaudioplayer #avqueueplayer

Вопрос:

Я пытаюсь разработать аудиоплеер с несколькими файлами, поэтому я использовал AVQueuePlayer, мне нужно проверять, воспроизводит ли проигрыватель звук или приостановлен?

Для AVAudioPlayer у меня есть свойство «isPlaying», но для AVQueuePlayer как это проверить? Спасибо.

Ответ №1:

Вы можете проверить, воспроизводится ли AVQueuePlayer, проверив, превышает ли скорость объекта queue player значение 0

 -(BOOL)isPlaying {
    return self.queuePlayer.rate > 0;
}
  

Ответ №2:

Вы можете использовать этот метод

 addBoundaryTimeObserverForTimes: 
  

чтобы узнать, когда проигрыватель начнет воспроизводить какой-либо файл, как описано в этом URL:
http://www.artermobilize.com/blog/2014/02/28/detect-when-audio-playback-begins-with-avplayer-in-ios/

также вы можете использовать этот код, чтобы узнать, когда воспроизведение завершено:

 [[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(playerItemDidReachEnd:)
                                             name:AVPlayerItemDidPlayToEndTimeNotification
                                           object:nil];

- (void)playerItemDidReachEnd:(NSNotification *)notification
{
    // your code here
}