我知道有一个类似的问题MPMusicPlayerController stops sending notifications,但这个问题的答案并没有解决这个问题。
我正在使用iOS 4,这在支持多任务处理的设备和非多任务设备上都会发生。我已经在iPhone 4,iPhone 3GS,iPod touch 2G和iPod touch 1G上进行了测试。
我有一个项目只是为了测试这个问题。它使用MPMusicPlayerController来控制iPod音乐播放,并在nowPlaying项目更改时收到通知,因此它可以更新艺术作品,艺术家和标题。首次启动时它可以正常工作。但如果您进行iTunes同步,我相信它会退出设备上的iPod.app并返回我的应用程序,该应用程序将不再从MPMusicPlayerController获取通知,因此它不会更新正在播放的项目显示。
该项目还允许您从iPod库中选择播放列表以开始播放。同步后它也会停止工作。它仍然可以获得播放列表列表,但尝试在iPod音乐播放器中排队它们没有做任何事情。
释放MPMusicPlayerController的旧实例不起作用。取消注册并重新注册通知不起作用。这似乎是应用程序和iPod.app之间的IPC的问题。修复它的唯一方法是杀死我的应用并重新启动它。
其他人有这个问题吗?
答案 0 :(得分:2)
我遇到了完全相同的问题并且无法正确修复它,尽管我确实提出了一个临时解决方案,而不是让我的应用程序陷入无法使用的状态:
我在exit(0)
的处理程序中调用MPMediaLibraryDidChangeNotification
,因此至少我的用户不会无法做任何想知道如何解决它的问题。
答案 1 :(得分:0)
我尝试将AVAudioSession类别重新设置为AVAudioSessionCategorySoloAmbient
并重新激活会话。