Нажатие кнопки воспроизведения гарнитуры iPhone - PullRequest
1 голос
/ 21 марта 2012

Я хочу обнаружить нажатие кнопки гарнитуры на iPhone, см. Определение нажатия кнопки гарнитуры на iPhone SDK . Я следую как http://developer.apple.com/library/IOS/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/RemoteControl/RemoteControl.html, тогда я написал код, как показано ниже, но он не может работать !!

- (BOOL)canBecomeFirstResponder
{
    return YES;
}

- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent
{
    if (receivedEvent.type == UIEventTypeRemoteControl) {
        NSLog(@"Remote Control Event");
        switch (receivedEvent.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:
                NSLog(@"UIEventSubtypeRemoteControlTogglePlayPause");
                break;
            default:
                break;
        }
    }
}

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
}

- (void)viewWillDisappear:(BOOL)animated
{
    [[UIApplication sharedApplication] endReceivingRemoteControlEvents];
    [self resignFirstResponder];
    [super viewWillDisappear:animated];
}

Моя проблема в том, что я не могу перехватить событие дистанционного управления. Когда нажата кнопка воспроизведения или паузы на гарнитуре, консоль ничего не печатает! Кто может мне помочь? Спасибо.

1 Ответ

1 голос
/ 21 марта 2012

Обновлен ли ваш Info.plist, чтобы указать, что вы поддерживаете аудио?

С http://www.iphonedevsdk.com/forum/iphone-sdk-development/44433-there-way-respond-clicks-headphone-buttons.html

Добавьте новую строку и выберите «Необходимые режимы фона». В «Элементе 0», который отображается под / рядом с ним, выберите «Приложение воспроизводит аудио».

...