0

Avec iOS 10.3 Apple a publié de nouvelles API dans l'infrastructure MediaPlayer qui apporte plus de contrôle/puissance pour le développeur qui veut lire de la musique stockée sur Apple Music/iTunes Rencontre. Je parle de nouveau applicationQueuePlayer et applicationMusicPlayer de MPMusicPlayerApplicationController. Le problème est bien sûr le multitâche. Je construis essentiellement une alternative au propre lecteur de musique d'Apple. Mais j'ai aussi besoin d'exécuter du code (principalement des connexions réseau) quand la musique joue. Ces nouvelles API nécessitent d'activer les modes d'arrière-plan pour l'application (Audio, AirPlay et Image dans l'image), de sorte que la musique est lue lorsque l'utilisateur accède à l'écran d'accueil, mais l'application elle-même est suspendue. J'ai compris que je pouvais jouer en mode audio silencieux pour que l'application reste en vie et peut-être que l'application sera approuvée (techniquement, la musique en arrière-plan et la capacité en mode arrière-plan doivent être activées de toute façon). Mais je ne veux pas consommer la batterie de l'utilisateur lorsque la musique est en pause.
Encore plus drôle: il semble que cette nouvelle API est conçue pour les applications qui restent actives en arrière-plan, car sur iOS 10.3.3 après avoir changé la piste via Control Center et tapé sur le nom de la chanson, l'application musique système est ouverte de mon application Imaginez que cet utilisateur arrête la musique du centre de contrôle avant d'arriver au travail, puis la reprend du centre de contrôle. Je ne veux pas manger la batterie de l'utilisateur quand il est au travail.
Ma question est la suivante: existe-t-il un moyen de garder l'application en ligne et de répondre aux actions entreprises par l'utilisateur?Conserver l'application en arrière-plan quand [MPMusicPlayerApplicationController applicationQueuePlayer] est utilisé pour jouer de la musique

Répondre

0

"Le lecteur de musique n'affecte pas l'état de l'application Musique Lorsque votre application passe en arrière-plan, le lecteur de musique arrête de lire le média en cours."

https://developer.apple.com/documentation/mediaplayer/mpmusicplayercontroller/2817540-applicationqueueplayer

systemMusicPlayer continuera en arrière-plan, mais, vous n'avez pas accès, ou je pense maintenant (iOS11) un accès limité à la file d'attente.

Je pense que vous avez encore besoin d'utiliser une certaine forme de AVPlayer (https://developer.apple.com/documentation/avfoundation/avplayer) si vous voulez un contrôle granulaire sur ce qui se passe, mais alors vous devrez implémenter tout ce qui met à jour l'écran de verrouillage etc.

+1

Merci pour la réponse rapide. Ceci n'est pas une réponse car AVPlayer ne peut pas être utilisé pour lire des pistes d'Apple Music et je ne souhaite pas affecter l'état de l'application Music. –