3

我知道有一个类似的问题MPMusicPlayerController 停止发送通知,但该问题的答案并不能解决这个问题。

我使用的是 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 似乎有问题。修复它的唯一方法是杀死我的应用程序并重新启动它。

还有其他人有这个问题吗?

4

2 回答 2

2

我遇到了完全相同的问题并且无法正确修复它,尽管我确实提出了一个临时解决方案,这比让我的应用程序陷入无法使用的状态要好:

我打电话给exit(0)我的处理程序MPMediaLibraryDidChangeNotification,所以至少我的用户不会因为想知道如何修复它而无法做任何事情。

于 2010-07-14T09:46:50.117 回答
0

我会尝试将 AVAudioSession 类别重新设置为AVAudioSessionCategorySoloAmbient并重新激活会话。

于 2010-07-13T19:36:51.580 回答