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:
-
“Hoe het” Play “-knopgedrag op de Bluetooth-afstandsbediening instellen – alleen praktisch, andere focus, tot nu toe geen antwoorden, en Ik “ben ook geïnteresseerd in antwoorden waarvoor rooten of aangepaste firmware nodig is (vooral CyanogenMod).
-
Verander standaard applicatie voor afhandeling headsetbediening – een exact probleem dat is verholpen, maar niet op een manier die mijn vragen zou beantwoorden, hoewel het wel enkele hints geeft over hoe dingen werken.
-
Hoe kan ik ervoor zorgen dat de knop op mijn hoofdtelefoon iets anders bedient dan de standaardmuziekspeler? – deels vergelijkbare vraag aan de praktische kant, maar niet gericht op uitleggen hoe het werkt echt, en het enige antwoord is gericht op het deel waar ik niet naar vraag (ervoor zorgen dat slechts één app de opdrachten ontvangt).
-
waarom krijgen alle geluidsapps bluetooth-knopgebeurtenissen, allemaal tegelijk – zeer vergelijkbaar, maar vragen over een specifiek probleem (alle van de mediaspelers die het AVRCP-commando krijgen)
Reacties
- Ik heb goede informatie kunnen vinden met betrekking tot dit van een Android-ontwikkelaarsblog – waarin de juiste manier wordt besproken waarop dit moet worden geïmplementeerd door applicaties in 2.2: ” Applicaties aardig (r) met elkaar laten spelen: Omgaan met afstandsbedieningsknoppen ”
- In 2016 is dit nog steeds een probleem -. – Overstappen van iOS is dit misschien wel het meest irritante deel van Android voor mij tot nu toe: /
- Gerelateerd? android.stackexchange.com/q/218823/693
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
Deze app zou “Media Button Router” zijn https://play.google.com/store/apps/details?id=com.harleensahni.android.mbr