Logo fr.androidermagazine.com
Logo fr.androidermagazine.com

Replay: la lutte croissante des commandes de lecture via Bluetooth

Anonim

C'est ce que j'utilise au travail, à la maison, au lit, sous la douche et partout entre les deux pour me garder sain d'esprit et heureux. La musique me rend meilleur, et comme la musique occupe une place si importante dans mon expérience sur Android, il y a un lent déclin que je suis douloureusement conscient de ces dernières années, et plus particulièrement de ces derniers mois.

Parfois, j'allume mes écouteurs Bluetooth, appuie sur Play et rien ne se passe. Et rien ne se passe beaucoup plus qu'avant.

À mes débuts sous Android, avec Soarin dans ma poche (oui, j’ai baptisé mon Samsung Captivate Glide) et ma première paire d’écouteurs Bluetooth Kinivo autour de mon cou, je n’étais pas obligé d’ouvrir Google Play Music, j’avais juste besoin de toucher jouer sur mes écouteurs. En fait, j'ai sorti un tiroir d'un Samsung Galaxy SII, je l'ai démarré pour la première fois depuis des mois, je l'ai couplé avec un casque Bluetooth et j'ai appuyé sur le bouton de lecture. Et la musique a joué.

Pas tellement sur les appareils actuels dans mon écurie.

Le HTC 10 n'obéit parfois pas aux commandes Bluetooth, notification persistante pour l'application de musique ou non. Je préférerais que je joue sur mon Moto 360 ou sur le téléphone lui-même. Le HTC A9 est tout aussi pointilleux. Le Nexus 5X parfois ne démarre pas la sauvegarde de la musique avec la notification persistante, mais le fait parfois sans une. Le Samsung S6 edge sera lu, mais parfois, au lieu de jouer à l’application musicale la plus récemment active, il reviendra par défaut à l’application Music préchargée.

Il y a un mot qui ne cesse de répéter ici: parfois. En effet, il s’agit d’un problème qui comporte de nombreuses variables: quel appareil Android vous utilisez, quel appareil Bluetooth vous utilisez, quelle version d’Android et Bluetooth ont vos appareils, quelle application de musique que vous essayez de lire, quel environnement vous êtes, etc. Cela fait beaucoup de choses pour contribuer à un problème apparemment simple de boutons qui ne fonctionnent pas à chaque fois que vous appuyez dessus.

Alors qu'est-ce qui se passe réellement ici? Eh bien, la réponse devient un peu - ok, beaucoup - technique.

Lorsque vous appuyez sur le bouton, il est interprété par Android et diffusé sur le système via KeyEvents. Le bouton suivant de votre oreillette est interprété et transmis sous la forme KEYCODE_MEDIA_NEXT via un événement KeyEvent. Il existe une grande variété de valeurs pouvant être extraites pour différents boutons, voire pour le même bouton. Le bouton de lecture de la plupart des casques est également le bouton de pause. Par conséquent, la clé peut renvoyer KEYCODE_MEDIA_PAUSE, KEYCODE_MEDIA_PLAY ou KEYCODE_MEDIA_PLAY_PAUSE, beaucoup plus probable, en fonction du périphérique et de son état actuel. À propos, si vous avez déjà mis en pause et que la musique a commencé quelque part alors que ce que vous regardiez / écoutiez était en pause, c'est le KeyEvent à blâmer, car il a été reçu et utilisé par deux applications.

Une fois que les événements KeyEvents sont interprétés, ils doivent toujours être entendus par une application musicale qui écoute les boutons multimédias via une intention BroadcastReceiver. Après tout, une application ne peut pas agir sur un événement KeyEvent si elle ne peut pas le voir. Si quelque chose empêche le récepteur dans une application de recevoir des appuis sur des boutons, cela peut gâcher les contrôles de lecture de plusieurs manières, y compris le problème intermittent que j'ai décrit ci-dessus. Si une application annule trop rapidement l'enregistrement de son BroadcastReceiver lorsqu'elle perd le focus audio (la méthode permettant à Android de déterminer quelles applications peuvent lire l'audio à un moment donné), elle risque de perdre l'arrêt de l'écoute sans entendre le bouton enfoncé. pour recommencer à jouer. C'est pourquoi il est important que les applications multimédias gèrent à la fois l'Audio Focus et leur BroadcastReceiver de manière à ce que même lorsqu'un appareil a perdu l'ancien, il ne perd pas le dernier.

Cela dépend en grande partie de la qualité de la programmation de votre application musicale et des boutons multimédia diffusés par votre appareil lorsque vous appuyez sur un bouton de votre oreillette. Cela signifie également que même si les commandes de lecture sont cohérentes lorsque vous achetez un appareil, elles peuvent être interrompues par les mises à jour des applications ou du système qui modifient la vitesse d'arrêt de l'écoute.

Dans le cas d'applications telles que Google Play Music, les mises à jour semblent de plus en plus fréquentes. Bien que la plupart des pauses soient rapidement réparées, d’autres peuvent prendre plusieurs mois. Des problèmes intermittents, tels que le fait que votre musique ne démarre pas correctement avec Bluetooth, peuvent être difficiles à enregistrer et à identifier correctement, ce qui ralentit davantage un éventuel correctif.

Si les applications de musique n'ont pas le focus audio et ne fonctionnent pas en tant que services de premier plan (si la notification persistante pour le lecteur multimédia n'y est pas), il est possible que le système Android (plus précisément Doze) ou la "ressource" -saving "applications pourraient tuer l'application pour libérer de la mémoire pour d'autres activités. Lorsque cela se produit, jouer peut ne rien faire car aucun récepteur n’est ouvert et n’écoute les commandes.

Maintenant, tout comme plusieurs choses pourraient casser vos commandes de lecture, il existe également des options pour essayer de la réparer.

La première solution est un peu extrême, mais l’un des rares que les utilisateurs puissent mettre en œuvre sur leurs téléphones actuels aujourd’hui sans aucune altération fondamentale du logiciel. À l'aide d'applications telles que Tasker et AutoInput, nous pouvons détecter une pression sur un bouton, supprimer l'action KeyEvent d'origine, puis exécuter une commande plus spécialisée (et plus cohérente) visant directement une application. Par exemple, au lieu que le bouton de lecture soit une commande générique de lecture multimédia pouvant être captée ou ignorée par des dizaines de services multimédias, nous pourrions la remapper en tant que commande d'activation / de désactivation de lecture / pause spécifique à Google Play Musique, de sorte que les autres applications démarrer à la place.

Cela peut être fastidieux à programmer, et en supprimant l’action initiale et en la remplaçant, nous cassons le bouton de pause natif que nous pourrions vouloir utiliser dans d’autres applications comme YouTube ou Netflix. En bref, ce n'est pas vraiment une solution pour les utilisateurs non techniques ou ceux qui utilisent diverses applications multimédia.

De nombreux téléphones comportent une multitude de gestes et de boutons que vous pouvez activer ou désactiver dans les paramètres, comme appuyer deux fois pour réactiver ou appuyer deux fois sur le bouton Accueil / alimentation de l'appareil photo. Bien que l'ajout de contrôles Bluetooth à cette liste puisse s'allonger et le compliquer, si le système Android accusait réception de KeyEvent et le dirigeait vers une application spécifique plutôt que de diffuser un signal générique à n'importe quel récepteur écoutant (ou non), nous pourrions en assurer la cohérence. Nous avons déjà vu cela auparavant sur des appareils, par exemple en ouvrant Moto Assist pour activer une application de musique désignée lorsqu'elle est connectée au Bluetooth de votre voiture.

Changer la façon dont Android gère les boutons multimédias - et gère l'ensemble des entrées de boutons, car les contrôleurs Bluetooth et les claviers rencontrent des problèmes qui leur sont propres - pourrait créer autant de problèmes nouveaux qu'il en résoudrait, mais compte tenu du nombre d'endroits où tout peut aller et venir. dans le système actuel, il pourrait être intéressant de casser les œufs pour faire une nouvelle omelette.

À la fin de la journée, les utilisateurs ordinaires ne veulent pas fouiller dans les commandes clés, les récepteurs, et quelle application a le focus audio pour le moment. Nous voulons que nous nous concentrions sur la musique elle-même et où elle nous mène. Et si je ne peux pas jouer la musique qui me garde sain d’esprit dans les endroits bruyants et encombrés du premier coup, je ne suis pas une fille heureuse. Et je parie que je ne suis pas le seul.

Nous pouvons gagner une commission pour les achats en utilisant nos liens. Apprendre encore plus.