iTunes 同步后 MPMusicPlayerController 停止工作

发布于 2024-09-09 00:07:18 字数 756 浏览 4 评论 0原文

我知道有一个类似的问题 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 的问题。修复它的唯一方法是终止我的应用程序并重新启动它。

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

I know there's a similar question MPMusicPlayerController stops sending notifications, but the answer to that question doesn't solve this problem.

I'm using iOS 4, and this happens on both multitasking-enabled devices and non-multitasking devices. I've tested on iPhone 4, iPhone 3GS, iPod touch 2G, and iPod touch 1G.

I have a project just for testing this problem. It uses MPMusicPlayerController to control iPod music playback, and gets notifications when the nowPlaying item changes, so it can update the artwork, artist, and title. It works fine when you first launch it. But if you do an iTunes sync, which I believe quits the iPod.app on the device, and return to my app, the app no longer gets notifications from the MPMusicPlayerController, so it doesn't update the Now Playing Item display.

The project also lets you select a playlist from your iPod library to start playing. It also stops working after sync. It still can get a list of playlists, but trying to queue them in the iPod music player doesn't do anything.

Releasing the old instance of MPMusicPlayerController doesn't work. Unregistering and re-registering for notifications doesn't work. It seems to be a problem with the IPC between the app and the iPod.app. The only way to fix it is to kill my app and relaunch it.

Anybody else having this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

开始看清了 2024-09-16 00:07:19

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

我调用 exit(0)< /code> 在我的 MPMediaLibraryDidChangeNotification 处理程序中,所以至少我的用户不会因为想知道如何修复它而无法执行任何操作。

I'm having the exact same problem and haven't been able to fix it properly, though I did come up with a temporary solution that's better than leaving my app stuck in an unusable state:

I call exit(0) in my handler for MPMediaLibraryDidChangeNotification, so at least my users won't be stuck unable to do anything wondering how to fix it.

十秒萌定你 2024-09-16 00:07:19

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

I'd try re-setting the AVAudioSession category to AVAudioSessionCategorySoloAmbient and re-activating the session.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文