0

アプリでマルチメディア以外の目的でヘッドセットのボタンを押す必要があります。これが私がこれまでに持っているもので、機能していません。ヘッドセットのボタンを押しても、アプリが応答せず、代わりに音楽が再生されます...

- (BOOL)canBecomeFirstResponder {

return YES;
}

- (void)viewDidAppear:(BOOL)animated {

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
if ([self canBecomeFirstResponder]) {
    [self becomeFirstResponder];
    NSLog(@"became first responder");
}

}

 - (void)remoteControlReceivedWithEvent:(UIEvent *)theEvent
 {
if (theEvent.type == UIEventTypeRemoteControl) {
    switch(theEvent.subtype) {
        case UIEventSubtypeRemoteControlTogglePlayPause:
            NSLog(@"Hello");

        case UIEventSubtypeRemoteControlPlay:
            NSLog(@"Hello 2");
            break;
        case UIEventSubtypeRemoteControlPause:
            NSLog(@"Hello 3");
            break;
        case UIEventSubtypeRemoteControlStop:
            NSLog(@"Hello 4");
            break;
        default:
            return;
    }
}
 }
4

1 に答える 1

-1

@ user1724494使用したコードは、アプリがバックグラウンドで実行されている場合にのみ機能します。これは、イベントがバックグラウンド操作でのみ処理できるリモート イベントであるためです。

Apple のドキュメントhttp://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Introduction/Introduction.htmlを参照してください。

于 2013-03-15T05:01:07.383 に答える