UIEventSubtypeRemoteControlTogglePlayPause ничего не делает

У меня есть приложение, которое воспроизводит музыку, и я хочу использовать управление экраном блокировки (воспроизведение/пауза). С NSLog я вижу, что мое приложение получает триггер кнопки, но не UIEventSubtypeRemoteControlTogglePlayPause.

Вот немного моего кода:

- (void)viewDidLoad {
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}

- (BOOL)canBecomeFirstResponder {
    return YES;
}

- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent
{
    NSLog(@"REMOTE RECEIVE");
    if (receivedEvent.type == UIEventTypeRemoteControl)
    {
        NSLog(@"received remote event");
        switch (receivedEvent.subtype)
        {
            case UIEventSubtypeRemoteControlTogglePlayPause:
                NSLog(@"toggle button received");
                //[self togglePlayPauseTapped: nil];
                break;
            default:
                break;
        }
    }

Я получаю «УДАЛЕННОЕ ПОЛУЧЕНИЕ» и «полученное удаленное событие» из вывода NSLog, но не строку внутри ... TogglePlayPause.

Любые идеи?


person ASCJU    schedule 18.10.2013    source источник


Ответы (2)


использовать случай

UIEventSubtypeRemoteControlPause

UIEventSubtypeRemoteControlPlay

для iOS 7

person Shubhank    schedule 18.10.2013

Принятый ответ непонятен.

UIEventSubtypeRemoteControlPlay, UIEventSubtypeRemoteControlPause и UIEventSubtypeRemoteControlStop вызываются при взаимодействии с пользователем.

UIEventSubtypeRemoteControlTogglePlayPause вызывается при взаимодействии с гарнитурой.

person Jakub Truhlář    schedule 29.06.2016