我有一个简单的音乐播放器应用程序,它遇到了一个非常奇怪的问题。首先,在播放音乐并处于锁定状态时,我允许用户双击 Home 按钮并使用锁定的 iPod 音乐控件。但是,我确实注意到,在锁定状态下,我的应用程序没有收到任何已注册的通知。在大多数情况下,无论如何这都很好。但是,如果用户在锁定状态下播放音乐至少 15 分钟(我不知道为什么,但不会出现这个问题),并使用某种耳机或辅助插孔,然后拔下当设备仍在播放音乐时,iPodMusicPlayer 将自动暂停耳机/辅助插孔。这正是我想要它做的,但是在这发生之后,当用户解锁他们的设备并再次将焦点放在应用程序上时,iPodMusicPlayer'
- (IBAction)playPause:(id)sender {
if ([musicPlayer playbackState] == MPMusicPlaybackStatePlaying) {
[musicPlayer pause];
} else {
[musicPlayer play];
}
}
哪里musicPlayer = [MPMusicPlayerController iPodMusicPlayer]
。
在正常情况下,这运行得非常好。但是在这些条件之后,我的断点将在音乐暂停时达到 MPMusicPlaybackStatePlaying 的条件,反之亦然。我能够解决此问题的唯一方法是选择新的音乐或终止应用程序并重新打开。我已经尝试了大量的解决方法来以编程方式解决这个问题,但没有任何结果是 100% 无错误的修复。有没有人知道为什么会发生这种情况?