Я реализовал аудиоплеер, используя AVAudioPlayer
(а не AVPlayer
). Я могу обрабатывать события удаленного управления следующим методом. Пока все работает нормально, однако я вижу еще два subtypes
для этих событий: UIEventSubtypeRemoteControlEndSeekingForward
и UIEventSubtypeRemoteControlEndSeekingBackward
.
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
//if it is a remote control event handle it correctly
if (event.type == UIEventTypeRemoteControl)
{
if (event.subtype == UIEventSubtypeRemoteControlPlay)
{
[self playAudio];
}
else if (event.subtype == UIEventSubtypeRemoteControlPause)
{
[self pauseAudio];
}
else if (event.subtype == UIEventSubtypeRemoteControlTogglePlayPause)
{
[self togglePlayPause];
}
else if (event.subtype == UIEventSubtypeRemoteControlBeginSeekingBackward)
{
[self rewindTheAudio]; //this method rewinds the audio by 15 seconds.
}
else if (event.subtype == UIEventSubtypeRemoteControlBeginSeekingForward)
{
[self fastForwardTheAudio]; //this method fast-forwards the audio by 15 seconds.
}
}
Итак, вопросы:
Должен ли я реализовать эти два подтипа, чтобы все работало правильно?
Этот метод включает только кнопки
rewind
,play/pause
иfast forward
на экране блокировки, но не отображает название файла, обложку и продолжительность. Как я могу отобразить эту информацию, используяAVAudioPlayer
илиAVAudioSession
(мне действительно не нужна еще одна библиотека/API для реализации этого)?2-а. Я обнаружил
MPNowPlayingInfoCenter
во время поиска и почти ничего о нем не знаю. Должен ли я использовать его для реализации вышеперечисленных вещей? :-[