3

MPMusicPlayerController が通知の送信を停止するという同様の質問があることは知っていますが、その質問に対する答えはこの問題を解決しません。

私は iOS 4 を使用していますが、これはマルチタスク対応デバイスと非マルチタスク デバイスの両方で発生します。iPhone 4、iPhone 3GS、iPod touch 2G、iPod touch 1G でテストしました。

この問題をテストするためだけのプロジェクトがあります。MPMusicPlayerController を使用して iPod の音楽再生を制御し、nowPlaying 項目が変更されたときに通知を受け取るので、アートワーク、アーティスト、およびタイトルを更新できます。最初に起動したときは問題なく動作します。しかし、デバイス上の iPod.app を終了して私のアプリに戻ると思われる iTunes 同期を実行すると、アプリは MPMusicPlayerController からの通知を受信しなくなるため、Now Playing Item の表示は更新されません。

このプロジェクトでは、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 に答える