2010-06-28 2 views

ответ

2

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

0

Это еще проще, начиная с 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;