Wat bepaalt welke applicatie reageert op een bluetooth AVRCP-opdracht?

Achtergrond: ik heb een A2DP / AVRCP bluetooth-headset ( Nokia BH -505 ) die ik actief gebruik om naar zowel podcasts als muziek te luisteren. Die luister ik natuurlijk met verschillende apps. De bluetooth-headset heeft een aantal “command” (AVRCP) -knoppen die relevant zijn voor audio, in het bijzonder: “volgende track”, “vorige track” en “play / pause”

Momenteel telkens wanneer ik op een van de commandos druk , krijgt een van de muziekspelers die ik heb geïnstalleerd ( Meridian ) altijd de opdracht – zelfs als deze niet actief is. Dus als ik op “afspelen / pauzeren” klik van plan om een podcast te pauzeren ( DoggCatcher ), maar Meridian wordt geactiveerd en begint muziek af te spelen samen met de podcast.

Beide spelers zijn ingesteld op de headset gebruiken: DoggCatcher heeft “Bind to headset” ingeschakeld, en Meridian heeft “Headset-knoppen” ingeschakeld. Ik gebruik momenteel niet-gewortelde Android 2.2.1 op GT-S5570, maar kan aan het rooten zijn en upgraden naar 2.3 CyanogenMod ( of zo), in de toekomst.

De details negerend, is mijn vraag hierover algemener:

  • Hoe bepaalt Android welke app om op deze commandos te reageren? Ik “ben zelfs geïnteresseerd in een zeer technisch antwoord.

Aan de praktische kant ben ik geïnteresseerd in:

  • Moet ik met de instellingen van elke applicatie spelen om te bepalen welke applicatie de commandos accepteert, of is er een algemene manier om dit te bepalen?
  • Is er een manier om te configureren dit zodat de toepassing die werkelijk actief is, automatisch altijd de prioriteit krijgt? (zoals gedeeltelijk gesteld in een andere vraag )

Hoe deze vraag verschilt van soortgelijke vragen:

Reacties

Antwoord

media-button-router , al genoemd in een van uw gelinkte vragen, probeert erachter te komen welke app momenteel muziek afspeelt en om de AVRCP-gebeurtenissen ernaar te verzenden. Bovendien worden alle geïnstalleerde apps vermeld die verklaren naar AVRCP-evenementen te luisteren.

Wat AVRCP ingewikkeld maakt: sommige apps, zoals Sonys Music Unlimited , lijkt android.intent.action.MEDIA_BUTTON niet in hun manifest te vermelden. Om deze (of misschien een andere) reden kunnen ze “niet worden bestuurd via media- knoop-router. Ik weet dat b.v. Music Unlimited kan worden bestuurd via AVRCP aangezien ik het in een gebruikerscommentaar heb gelezen en ik heb het ook een keer kunnen laten draaien, maar het is helaas niet reproduceerbaar. Dus in die gevallen lijkt het erop dat we het moeten wacht op de update van een app met een schone implementatie van AVRCP-gebeurtenisafhandeling.

Volgens de wiki van media-button-router “s wiki “De afhandeling van mediaknoppen gebeurt via geordende uitzendingen, en elke app stelt zijn eigen prioriteit voor het ontvangen” in. Het zou dus mogelijk kunnen zijn om een app te schrijven die deze prioriteiten weergeeft en, in feite, kunt u bepalen welke toepassing wordt gestart. Ik weet echter niets van zon app.

Antwoord

Ten slotte hebben ze een sectie toegevoegd om deze exacte vraag te beantwoorden: https://developer.android.com/guide/topics/media-apps/mediabuttons.html

Antwoord

Misschien helpt dit een beetje:

Samsung S5 -> Bluetooth-ontvanger + In Ear-telefoonstekkers

Ik gebruik Samsung S5, eerst met de 7digital-app om muziek te downloaden en af te spelen. Daarna heb ik Cloudplayer veranderd en gebruikt. Maar elke keer dat Clouplayer speelt en ik op de pauze / afspeelknop op mijn Bluetooth-ontvanger druk, begint mijn 7digital app muziek af te spelen. Ik kon geen enkele instelling wijzigen om het afspelen / pauzeren via bluetooth naar Cloudplayer te veranderen. Ik heb toen al mijn 7digital gedownloade muziek verwijderd en het opnieuw geprobeerd. Probleem opgelost! Afspelen / pauzeren is nu op de een of andere manier aan Cloudplayer gekoppeld.

Antwoord

Het is geen probleem met uw BT-apparaat. Indien gekoppeld met uw telefoon, speelt de Bluetooth-headset actieve A2DP-stream af die is geïnitieerd vanaf mobiele telefoon. Als het een standaard mediaspeler op uw telefoon is, kan deze reageren op alle AVRCP-besturingscommandos, zoals afspelen pauze overslaan, fw enz. Wanneer u nu iets op internet afspeelt of een andere speler die niet al deze bedieningselementen over AVRCP implementeert, Met BT Headset is er nog een actieve A2DP-stream op komst. Het zal AVRCP Control-berichten naar uw telefoon verzenden. Het is nu uw telefoon die deze opdrachten in de meeste gevallen naar de respectieve app moet sturen naar de actieve A2DP-streamingbron of in uw geval stuurt uw telefoon nog steeds AVRCP-opdrachten door naar de standaardmuziekspeler.

Uw U kunt het beste proberen uw mobiele telefoon te configureren, op voorwaarde dat de bron die u afspeelt AVRCP-bediening ondersteunt. Als dit niet het geval is, kunt u toch niets doen. Als dat het geval is, moet Mobile deze AVRCP-opdrachten definitief laten afhandelen door uw actieve A2DP-streamingbron.

Antwoord

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *