2010-07-13 90 views
3

我知道有一個類似的問題MPMusicPlayerController stops sending notifications,但該問題的答案不能解決此問題。MPMusicPlayerController在iTunes同步後停止工作

我正在使用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

我提交了一個雷達(Bug ID#8183973),它被標記爲Bug ID#8182738的副本。當一個bug被標記爲重複的時候,我不能再跟蹤bug的解決方案,因爲問題是標記關閉。 – lucius 2010-08-03 14:09:53

回答

2

我有完全相同的問題,一直沒能妥善解決這個問題,雖然我沒有想出了一個臨時的解決方案這是不是讓處於不可用狀態,我的應用程序更好:

我打電話exit(0)在我的處理程序MPMediaLibraryDidChangeNotification,所以至少我的用戶不會卡住無法做任何想知道如何解決它。

+0

用戶需要在退出後重新啓動應用程序。它的確解決了這個問題,但是卻以一種相當不雅的方式。我認爲唯一真正的解決辦法就是向Apple提交一份雷達錯誤報告並等待他們解決。 – lucius 2010-07-15 22:55:46

+0

我剛剛發現,如果用戶正在使用藍牙耳機收聽音樂,撥打電話,將電話呼叫中的輸出源從藍牙更改爲iPhone,並結束通話,也會發生此錯誤。我的應用程序將無法播放音樂或設置播放隊列,直到應用程序強制退出或重新從iPod.app啓動音樂。 – 2010-07-16 02:23:04

+0

更正:在這種新場景中,我*可以設置播放隊列以恢復播放,但發送[[musicPlayer播放]]不起作用。這個問題可能不相關。 – 2010-07-16 02:34:42

0

我想嘗試重新設置AVAudioSession類別AVAudioSessionCategorySoloAmbient並重新激活會話。

+0

這根本不起作用。它會完全停止音樂播放,更糟的是,我的應用程序仍然沒有收到通知或排隊不同播放列表的功能。 – lucius 2010-07-15 22:53:02