在最近的 iOS 版本中,应用程序可以访问锁定屏幕上的媒体控制按钮,例如播放/暂停按钮:
看起来按钮应该与MPMusicPlayerController
班级一起工作,对吗?有没有办法从按钮中获取“原始”事件?因为音乐播放器似乎只提供了一个 API 来提供一堆MPMediaItem
s。例如,如果我的应用程序是需要以不同方式处理按钮的收音机怎么办?
在最近的 iOS 版本中,应用程序可以访问锁定屏幕上的媒体控制按钮,例如播放/暂停按钮:
看起来按钮应该与MPMusicPlayerController
班级一起工作,对吗?有没有办法从按钮中获取“原始”事件?因为音乐播放器似乎只提供了一个 API 来提供一堆MPMediaItem
s。例如,如果我的应用程序是需要以不同方式处理按钮的收音机怎么办?
经过一番搜索后,我发现这个相关的问题使事情变得清晰。音乐播放器控制器类并不是真正正确的轨道,诀窍是订阅控制器中的远程事件:
- (void) viewDidAppear: (BOOL) animated
{
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
- (BOOL) canBecomeFirstResponder
{
return YES;
}
- (void) remoteControlReceivedWithEvent: (UIEvent*) event
{
// see [event subtype] for details
}