Как заставить мое приложение работать с кнопками управления мультимедиа на экране блокировки?

В последних версиях iOS у приложений есть доступ к кнопкам управления мультимедиа на экране блокировки, например к кнопке Play / Pause:

введите описание изображения здесь

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


person zoul    schedule 15.12.2011    source источник


Ответы (1)


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

- (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
}
person zoul    schedule 15.12.2011