これはこれに似た質問です。しかし、私はまだ何をすべきかを完全に理解できません。
だから、私は iPod と同様に機能するタブバー アプリを持っています。1つのView Controllerは「NOW PLAYING」View Controllerであり、インデックス1のView Controllerです。したがって、そのVCには次のものがあります。
- (void)viewDidAppear:(BOOL)animated
{
// Turn on remote control event delivery
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
// Set itself as the first responder
[self becomeFirstResponder];
}
- (BOOL)canBecomeFirstResponder
{
return YES;
}
- (void)remoteControlReceivedWithEvent:(UIEvent *)event
{
NSLog(@"Where is my event?");
if(event.type == UIEventTypeRemoteControl)
{
switch (event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
NSLog(@"Pause");
break;
case UIEventSubtypeRemoteControlNextTrack:
NSLog(@"Next");
break;
case UIEventSubtypeRemoteControlPreviousTrack:
NSLog(@"Prev");
break;
default:
NSLog(@"SOMETHING WAS CLICKED");
break;
}
}
}
ヘッドフォンまたはダブル ホーム ボタン クリック ショートカットのリモート クリックでイベントを受信しません。シミュレーターではなく、実際の iPhone で実行しています。AVQueuePlayer (再生中) を使用してメディアを管理しています。