Quest-ce qui détermine quelle application agit sur une commande AVRCP Bluetooth?

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:

Commentaires

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *