2010-07-13 4 views
3

Je sais qu'il y a une question similaire MPMusicPlayerController stops sending notifications, mais la réponse à cette question ne résout pas ce problème. J'utilise iOS 4, et cela se produit à la fois sur des périphériques multitâches et sur des périphériques non multitâches. J'ai testé sur iPhone 4, iPhone 3GS, iPod touch 2G et iPod touch 1G.MPMusicPlayerController cesse de fonctionner après la synchronisation iTunes

J'ai un projet juste pour tester ce problème. Il utilise MPMusicPlayerController pour contrôler la lecture de musique iPod et reçoit des notifications lorsque l'élément nowPlaying change, afin de mettre à jour l'illustration, l'artiste et le titre. Cela fonctionne bien lorsque vous le lancez. Mais si vous effectuez une synchronisation iTunes, qui, je crois, quitte l'iPod.app sur l'appareil et retourne à mon application, l'application ne reçoit plus de notifications du MPMusicPlayerController, donc elle ne met pas à jour l'affichage de l'élément en cours de lecture.

Le projet vous permet également de sélectionner une liste de lecture de la bibliothèque de votre iPod pour commencer à jouer. Il arrête également de fonctionner après la synchronisation. Il peut toujours obtenir une liste de playlists, mais en essayant de les mettre en file d'attente dans le lecteur de musique iPod ne fait rien.

La libération de l'ancienne instance de MPMusicPlayerController ne fonctionne pas. La désinscription et la réinscription pour les notifications ne fonctionnent pas. Cela semble être un problème avec l'IPC entre l'application et l'iPod.app. La seule façon de le réparer est de tuer mon application et de la relancer.

Quelqu'un d'autre a ce problème?

+0

J'ai déposé un radar (Bug ID # 8183973) qui a été marqué comme un doublon du Bug ID # 8182738. Quand un bug est marqué comme doublon, je ne peux plus suivre la résolution du bug, puisque le problème est marqué fermé. – lucius

Répondre

2

Je vais avoir le même problème et n'ont pas été en mesure de le réparer correctement, même si je ne viens avec une solution temporaire qui est mieux que de laisser mon application coincé dans un état inutilisable:

J'appelle exit(0) dans mon gestionnaire pour MPMediaLibraryDidChangeNotification, donc au moins mes utilisateurs ne seront pas bloqués incapable de faire quelque chose se demandant comment y remédier.

+0

L'utilisateur doit relancer l'application après sa fermeture. Cela résout le problème mais d'une manière plutôt inélégante. Je pense que la seule vraie solution est de déposer un rapport de bug Radar avec Apple et d'attendre qu'ils le résolvent. – lucius

+0

Je viens de découvrir ce bug se produit également si l'utilisateur écoute de la musique en utilisant un casque Bluetooth, fait un appel téléphonique, change la source de sortie dans l'appel téléphonique de Bluetooth à l'iPhone, et met fin à l'appel. Mon application sera incapable de lire de la musique ou de définir la file d'attente de lecture tant que l'application n'est pas forcée ou que la musique est redémarrée depuis iPod.app. –

+0

Correction: Dans ce nouveau scénario, je * suis * capable de régler la file d'attente de lecture pour reprendre la lecture, mais l'envoi de [[lecture du lecteur de musique] 'ne fonctionne pas. Ce problème peut ne pas être apparenté. –

0

Je vais essayer de redéfinir la catégorie AVAudioSession à AVAudioSessionCategorySoloAmbient et de réactiver la session.

+0

Ça ne marche pas du tout. Il arrête complètement la lecture de musique, et pire encore, mon application n'obtient toujours pas de notifications ou la possibilité de mettre en file d'attente une playlist différente. – lucius

Questions connexes