我在我的应用中添加了Spotify播放器,同时使用MPMusicPlayerController播放音乐。当从Spotify播放音乐且屏幕锁定时,用户按下锁定屏幕上的播放/暂停和快进/快退按钮时,无法接收到远程控制事件。
如果从MPMusicPlayerController播放音乐,则可以根据以下代码接收远程控制事件:
-(void) ViewDidLoad {
...
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
...
}
并且
- (BOOL) canBecomeFirstResponder
{
return YES;
}
- (void) remoteControlReceivedWithEvent: (UIEvent*) event
{
// see [event subtype] for details
if (event.type == UIEventTypeRemoteControl) {
// We may be receiving an event from the lockscreen
switch (event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
case UIEventSubtypeRemoteControlPlay:
case UIEventSubtypeRemoteControlPause:
// User pressed play or pause from lockscreen
[self playOrPauseMusic:nil];
break;
case UIEventSubtypeRemoteControlNextTrack:
// User pressed FFW from lockscreen
[self fastForwardMusic:nil];
break;
case UIEventSubtypeRemoteControlPreviousTrack:
// User pressed rewind from lockscreen
[self rewindMusic:nil];
break;
default:
break;
}
}
}
当应用进入后台时,iPod控件是可见的,但当我按下暂停键时,它们不会响应。相反,当我按下暂停键时,iPod控件会消失。如果从锁屏界面播放Spotify等流媒体音频时,需要添加什么内容才能使其检测到播放/暂停和FFW/RWD?