Я пытаюсь использовать экран блокировки/теперь играть элементы управления для своего приложения, но я не получаю никаких событий. Документация делает это довольно прямолинейным, поэтому я был немного удивлен, когда у меня не было никаких результатов. Мое приложение должно получать события дистанционного управления для целей вне воспроизведения звука на устройстве. Я попытался проверить это, просто распечатав некоторое подтверждение с помощью NSLog. Нужно ли использовать аудио- или мультимедийную среду, которая не упоминалась в документации? Я не получаю никаких предупреждений или ошибок, поэтому я не думаю, что с этим возникнут какие-либо проблемы ... Любое понимание того, почему события дистанционного управления не регистрируются, будет с благодарностьюНе получать события дистанционного управления
Вот код:
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
//Register for lock screen controls
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
- (void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
//Unregister lock screen controls
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
}
- (BOOL)canBecomeFirstResponder{
return YES;
}
//Lock screen controls
- (void)remoteControlReceivedWithEvent:(UIEvent *)event{
NSLog(@"RECEIVED");
if (event.type == UIEventTypeRemoteControl) {
switch (event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
NSLog(@"RECEIVED");
break;
case UIEventSubtypeRemoteControlPreviousTrack:
NSLog(@"RECEIVED");
break;
case UIEventSubtypeRemoteControlNextTrack:
NSLog(@"RECEIVED");
break;
default:
break;
}
}
}
Хм нормально. Мне было интересно, является ли нехватка аудио сессии частью проблемы. – Squatch
В этом была проблема. Мое приложение не воспроизводит звук самостоятельно, а скорее общается с другим устройством, воспроизводящим аудио. Я добавил аудио-сессию, но он будет получать только удаленные события, если приложение было последним, чтобы воспроизвести аудио. Я отправлю новый вопрос о том, как обойти это, но я хотел поблагодарить вас! – Squatch
@Squatch, вы закончили публикацию другого вопроса? – Moshe