Как заставить мое приложение работать с кнопками управления мультимедиа на экране блокировки? - PullRequest
7 голосов
/ 15 декабря 2011

В последних версиях iOS приложения имеют некоторый доступ к кнопкам управления мультимедиа на экране блокировки, например к кнопке «Воспроизведение / Пауза»:

enter image description here

Похоже, кнопки должны работать с классом MPMusicPlayerController, верно? Есть ли способ получить «сырые» события от кнопок? Потому что музыкальный проигрыватель, кажется, предлагает только API для набора MPMediaItem s. Что, если мое приложение, например, радио, которое должно обрабатывать кнопки по-другому?

1 Ответ

8 голосов
/ 15 декабря 2011

После еще нескольких поисков я нашел связанный вопрос , который проясняет ситуацию.Класс контроллера музыкального плеера не совсем правильный путь, хитрость заключается в том, чтобы подписаться на удаленные события в вашем контроллере:

- (void) viewDidAppear: (BOOL) animated
{
    [super viewDidAppear:animated];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}

- (BOOL) canBecomeFirstResponder
{
    return YES;
}

- (void) remoteControlReceivedWithEvent: (UIEvent*) event
{
    // see [event subtype] for details
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...