Contexte: Jai un casque Bluetooth A2DP / AVRCP ( Nokia BH -505 ) que jutilise activement pour écouter à la fois des podcasts et de la musique. Bien sûr, je les écoute avec différentes applications. Le casque Bluetooth a quelques boutons de « commande » (AVRCP), pertinents pour laudio – en particulier: « piste suivante », « piste précédente » et « lecture / pause »
Actuellement, chaque fois que jappuie sur lune des commandes , lun des lecteurs de musique que jai installés ( Meridian ) reçoit toujours la commande, même sil nest pas actif. Donc, lorsque je clique sur « lecture / pause » lintention de mettre en pause un podcast ( DoggCatcher ), à la place, Meridian est activé et commence à lire de la musique avec le podcast.
Les deux lecteurs sont réglés sur utiliser le casque: DoggCatcher a activé loption « Lier au casque » et Meridian a activé les « boutons du casque ». Jutilise actuellement Android 2.2.1 non enraciné sur le GT-S5570, mais je suis peut-être en train denraciner et de passer à la version 2.3 CyanogenMod ( ou tel), à lavenir.
En ignorant les détails, ma question à ce sujet est plus générale:
- Comment Android détermine-t-il quelle application obtient pour réagir à ces commandes? Je suis même intéressé par une réponse très technique.
Sur le plan pratique, je suis intéressé par:
- Dois-je modifier les paramètres de chaque application pour déterminer quelle application prend les commandes, ou existe-t-il un moyen général de le déterminer?
- Existe-t-il un moyen de configurer ceci pour que lapplication qui est réellement active obtienne toujours automatiquement la priorité? (comme demandé en partie dans une autre question )
En quoi cette question diffère des questions similaires:
-
« Comment définir le comportement du bouton » Lecture « sur la télécommande Bluetooth » – uniquement pratique, mise au point différente, jusquà présent, aucune réponse, et Je « suis également intéressé par les réponses qui nécessiteraient un rooting ou un firmware personnalisé (en particulier CyanogenMod).
-
Modifier lapplication par défaut pour la gestion les commandes du casque – un problème exact qui a été résolu, mais pas dune manière qui répondrait à mes questions, bien que cela donne quelques indices sur la façon dont les choses fonctionnent.
-
Comment puis-je faire en sorte que le bouton de mon casque contrôle autre chose que le lecteur de musique standard? – question en partie similaire sur le plan pratique, mais pas d’explication cela fonctionne réellement, et la seule réponse se concentre sur la partie que je ne pose pas de questions (faire quune seule application reçoive les commandes).
-
pourquoi toutes les applications audio reçoivent-elles des événements de bouton Bluetooth, tous en même temps – très similaire, mais posant des questions sur un problème spécifique des lecteurs multimédias recevant la commande AVRCP)
Commentaires
- Jai réussi à trouver de bonnes informations relatives à ceci à partir dun blog de développeurs Android – discuter de la manière appropriée de mettre en œuvre cela devrait par les applications en 2.2: » Permettre aux applications de jouer nice (r) les unes avec les autres: Manipulation des boutons de la télécommande »
- En 2016, cest toujours un problème -. – Passer diOS, cest peut-être la partie la plus irritante dAndroid pour moi jusquà présent: /
- Lié? android.stackexchange.com/q/218823/693
Réponse
media-button-router , déjà mentionné dans lune de vos questions liées, essaie de comprendre quelle application lit actuellement de la musique et pour y envoyer les événements AVRCP. De plus, il répertorie toutes les applications installées, qui déclarent écouter les événements AVRCP.
Ce qui rend AVRCP compliqué: certaines applications, comme Sony « s Music Unlimited , semblent ne pas déclarer android.intent.action.MEDIA_BUTTON
dans leur manifeste. Pour cette (ou peut-être pour une autre) raison, ils ne peuvent » pas être contrôlés via un média- bouton-routeur. Je sais que par exemple Music Unlimited peut être contrôlé via AVRCP puisque je lai lu dans un commentaire dutilisateur et jai également pu le faire fonctionner une fois mais malheureusement il nest pas reproductible. Donc, dans ces cas, il semble que nous devions attendez la mise à jour dune application avec une implémentation propre de la gestion des événements AVRCP.
Selon le wiki de media-button-router « « La gestion de lintention du bouton multimédia se fait par le biais de diffusions ordonnées, et chaque application définit sa propre priorité de réception. » Il serait peut-être possible décrire une application qui affiche ces priorités et, en fait, vous permettent de déterminer quelle application va démarrer. Cependant, je ne connais pas une telle application.
Réponse
Ils ont finalement ajouté une section pour répondre à cette question exacte: https://developer.android.com/guide/topics/media-apps/mediabuttons.html
Réponse
Cela vous aidera peut-être un peu:
Samsung S5 -> Récepteur Bluetooth + Prises de téléphone intra-auriculaires
Jutilise Samsung S5, dabord avec lapplication 7digital pour télécharger et écouter de la musique. Ensuite, jai changé et utilisé Cloudplayer. Mais chaque fois que Clouplayer joue et que jappuie sur le bouton pause / lecture de mon récepteur Bluetooth, mon application 7digital commencera à lire de la musique. Je nai pu modifier aucun paramètre pour modifier la lecture / pause Bluetooth vers Cloudplayer. Jai ensuite supprimé toute ma musique téléchargée 7digital et essayé à nouveau. Problème résolu! La lecture / pause est en quelque sorte liée à Cloudplayer maintenant.
Réponse
Ce nest pas un problème avec votre appareil BT. Lorsquil est couplé avec votre téléphone, le casque Bluetooth lit le flux A2DP actif lancé à partir du téléphone mobile. Sil sagit dun lecteur multimédia standard sur votre téléphone, il peut réagir à toutes les commandes de contrôle AVRCP telles que play pause skip, fw etc. Maintenant, lorsque vous lisez quelque chose sur le Web ou un autre lecteur qui nimplémente pas tous ces contrôles sur AVRCP, pour BT Headset cest toujours un flux A2DP actif à venir. Il enverra les messages de contrôle AVRCP sur votre téléphone. Cest maintenant votre téléphone qui est censé acheminer ces commandes vers lapplication respective dans la plupart des cas vers la source de diffusion A2DP active ou, dans votre cas, votre téléphone continue de transférer les commandes AVRCP vers le lecteur de musique par défaut.
Votre le mieux serait dessayer de configurer votre mobile à condition que la source que vous jouez prenne en charge le contrôle AVRCP. Si ce nest pas le cas, de toute façon, vous ne pouvez « rien faire. Si cest le cas, alors définitivement Mobile devrait autoriser ces commandes AVRCP à être gérées par votre source de streaming A2DP active.
Réponse
Cette application serait « Media Button Router » https://play.google.com/store/apps/details?id=com.harleensahni.android.mbr