2015-05-20 2 views
0

Я создаю приложение для iPhone, которое обрабатывает музыку, воспроизводящую &, приостанавливая и сохраняя собственный список воспроизведения. Я пытаюсь сделать функции дистанционного управления воспроизведением/паузой (на наушниках и слайд-экране) работать для воспроизведения музыки в моем приложении.MPRemoteCommandCenter Обработчики событий никогда не запускались

Вот код, который я ввел в метод инициализации, связанный с музыкальным проигрывателем (который является экземпляром MPMusicPlayerController, и я уверен, что через отладку вызывается этот блок кода), я расскажу о проблеме I «м лицо после того, как код:

[self.musicController beginGeneratingPlaybackNotifications]; 

// listen to remote control events 
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];  

if ([self canBecomeFirstResponder]) { 
    NSLog(@"Can be first responder"); 
    [self becomeFirstResponder]; 
    NSLog([NSString stringWithFormat: @"is first responder now? %@", [self isFirstResponder] ? @"yes" : @"no"]); 
} else { 
    NSLog(@"Cannot be first responder"); 
} 

MPRemoteCommandCenter *commandCenter = [MPRemoteCommandCenter sharedCommandCenter]; 

[commandCenter.togglePlayPauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) { 
    NSLog(@"TK: toggle command"); 
    return nil; 
}]; 

[commandCenter.playCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) { 
    NSLog(@"TK: play command"); 
    return nil; 
}]; 

[commandCenter.pauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) { 
    NSLog(@"TK: pause command"); 
    return nil; 
}]; 

моей проблемы: после добавления выше коды, при нажатии на кнопку воспроизведения/паузы на экране слайда-вверх, когда музыка играет в моем приложении, сообщение отладки не отображается в журнал, то есть блок обработчика событий не запускался.

И когда я нажимаю кнопку воспроизведения/паузы на своих яблочных ушных вкладышах, когда музыка играет в моем приложении, система начинает воспроизводить случайную музыку в моей музыкальной библиотеке iOS, и песня, которую она играет, не появляется в список воспроизведения моего приложения, что означает, что нет законного способа воспроизвести эту песню из моего приложения, за исключением выполнения вышеуказанных шагов.

Примечание: журнал имеет выход «Не может быть первым ответчиком».

ответ

0

Вы должны включить вид (контроллер), чтобы стать первым респондентом

- (BOOL)canBecomeFirstResponder { return true; }