我将 Spotify 播放器添加到我的应用程序中,该应用程序还使用 MPMusicPlayerController 播放音乐。当从 Spotify 播放音乐且屏幕锁定时,当用户在锁定屏幕上按下这些按钮时,不会接收播放/暂停和快进/后退的远程控制事件。
如果音乐是从 MPMusicPlayerController 播放的,我可以根据以下代码接收远程控制事件:
-(void) ViewDidLoad {
...
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
...
}
and
- (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 检测?
我相信我过去遇到过这个。如果我没记错的话我添加了
-(void)remoteControlReceivedWithEvent:(UIEvent *) event { ... }
也
- (BOOL) canBecomeFirstResponder { return YES; }
到应用程序委托(这也是我的音频控制器所在的位置)。我遇到了一个问题,在我想捕获的时候,UIViewControllers 不存在。UIEventTypeRemoteControl
通知。
尝试一下,看看是否有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)