Используете экран блокировки для моего приложения? - PullRequest
3 голосов
/ 28 июня 2010

Я бы хотел, чтобы мое приложение использовало кнопки аудио на экране блокировки во время многозадачности. (Да, как Пандора.) Какой API я хочу использовать?

Ответы [ 2 ]

2 голосов
/ 28 июня 2010

См. Пульт дистанционного управления мультимедиа документы.По сути, вам просто нужно вызвать -beginReceivingRemoteControlEvents в вашем экземпляре общего приложения, затем зарегистрировать что-то (возможно, ваш контроллер основного вида) в качестве первого респондента и реализовать на нем метод -remoteControlReceivedWithEvent:.Вы будете получать события как от элементов управления экрана блокировки, так и от кнопки управления гарнитурой, а также от кнопок управления слева от панели многозадачности.Для воспроизведения звука, когда ваше приложение не является приоритетным, вы также должны проверить эту информацию на фоновом аудио.

0 голосов
/ 03 сентября 2015

Теперь стало еще проще, чем в iOS 7. Вот пример для переключения воспроизведения / паузы (кнопка гарнитуры). См. Документы для MPRemoteCommandCenter и MPRemoteCommand для получения дополнительных опций.

    MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter];

    [commandCenter.togglePlayPauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent * _Nonnull event) {
        NSLog(@"toggle button pressed");
        return MPRemoteCommandHandlerStatusSuccess;
    }];

или, если вы предпочитаете использовать метод вместо блока:

    [commandCenter.togglePlayPauseCommand addTarget:self action:@selector(toggleButtonAction)];

Для остановки:

    [commandCenter.togglePlayPauseCommand removeTarget:self];

или

    [commandCenter.togglePlayPauseCommand removeTarget:self action:@selector(toggleButtonAction)];

Вам необходимо добавить это в область включений вашего файла:

@import MediaPlayer;
...