这是一个与此类似的问题。但我仍然不知道该怎么做。
所以,我有一个功能类似于 ipod 的标签栏应用程序。一个视图控制器是“NOW PLAYING”视图控制器,它是索引 1 处的视图控制器。所以,在那个 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(正在播放)来管理我的媒体。