Háttér: A2DP / AVRCP bluetooth fülhallgatóm van ( Nokia BH -505 ), amelyet aktívan használok podcastok és zenék hallgatására egyaránt. Természetesen ezeket különböző alkalmazásokkal hallgatom. A bluetooth headset rendelkezik néhány, az audió szempontjából releváns “parancs” (AVRCP) gombbal: “következő szám”, “előző szám” és “lejátszás / szünet”
Jelenleg, amikor megnyomom valamelyik parancsot , az egyik általam telepített zenelejátszó ( Meridian ) mindig megkapja a parancsot – még akkor is, ha nem aktív. Tehát amikor a “lejátszás / szünet” gombra kattintok szüneteltetni kíván egy podcastot ( DoggCatcher ), ehelyett a Meridian aktiválódik, és elkezd zenét játszani a podcast mellett.
Mindkét játékos beállítása használja a headsetet: A DoggCatcher „Bind to headset” funkciója be van kapcsolva, a Meridian pedig be van kapcsolva a „Headset Buttons” funkcióval. Jelenleg az Android 2.2.1 gyökér nélküli állományát használom a GT-S5570-en, de lehet, hogy gyökeret eresztek és frissítek 2.3 CyanogenMod ( vagy ilyen), a jövőben.
A konkrétumokat figyelmen kívül hagyva ezzel kapcsolatos kérdésem általánosabb:
- Hogyan határozza meg az Android, hogy melyik alkalmazást kapja meg reagálni ezekre a parancsokra? Még egy nagyon technikai válasz is érdekel.
A gyakorlati oldalon érdekel:
- Az egyes alkalmazás-beállításokkal kell-e babrálnom, hogy meghatározzam, melyik alkalmazás veszi a parancsokat, vagy van-e valamilyen általános módszer ennek meghatározására?
- Van-e mód konfigurálásra ezt annak érdekében, hogy az az alkalmazás, amely valóban aktív automatikusan automatikusan megkapja az elsőbbséget? (ahogyan részben a másik kérdésben feltették)
Miben különbözik ez a kérdés a hasonló kérdésektől:
-
“A” Play “gomb viselkedésének beállítása a Bluetooth távvezérlőn” – csak praktikus, más fókuszú, eddig nincsenek válaszai, és Olyan válaszok is érdekelnek, amelyek rootolást vagy egyedi firmware-t igényelnek (különösen a CyanogenMod).
-
Alapértelmezett alkalmazás módosítása a kezeléshez fülhallgató-vezérlők – egy pontos probléma, amelyet kijavítottak, de nem úgy, hogy megválaszolja a kérdéseimet, bár ad néhány tippet a dolgok működéséről.
-
Hogyan érhetem el, hogy a fejhallgatóm gombja vezéreljen mást, mint a készlet zenelejátszóját? – részben hasonló kérdés a gyakorlati oldalon, de nem arra koncentrálok, hogy elmagyarázzam valójában működik, és az egyetlen válasz arra a részre összpontosul, amelyről nem kérdezek (csak egy alkalmazás kapja meg a parancsokat).
-
miért kapnak minden hangalkalmazás egyszerre bluetooth gombeseményeket – nagyon hasonlóak, de egy adott problémáról kérdeznek (mind a médialejátszók közül, akik megkapják az AVRCP parancsot)
Megjegyzések
- Sikerült találnom néhány jó információt a következővel kapcsolatban: ez egy Android fejlesztői blogból – annak megvitatása, hogyan kell ezt a 2.2-es alkalmazásokban megvalósítani: ” Az alkalmazások szép (r) játékának lehetővé tétele egymással: A távirányító gombjainak kezelése ”
- 2016-ban ez még mindig probléma -. – Az iOS-ről való elmozdulás ez lehet az eddigi leginkább irritáló részem az android számára: /
- Kapcsolódó? android.stackexchange.com/q/218823/693
Válasz
media-button-router , amelyet már említettek az egyik kapcsolt kérdésben, megpróbálja kitalálni melyik alkalmazás éppen zenél, és hogy az AVRCP eseményeket elküldje hozzá. Ezenkívül felsorolja az összes telepített alkalmazást, amelyek deklarálják az AVRCP események meghallgatását.
Mi teszi bonyolulttá az AVRCP-t: Néhány alkalmazás, például a Sony Music Unlimited nem deklarálja a android.intent.action.MEDIA_BUTTON
-t a nyilvántartásában. Emiatt (vagy esetleg valamilyen más) okból nem vezérelhetők média- gomb-router. Tudom, hogy pl. A Music Unlimited az AVRCP-n keresztül vezérelhető, mivel elolvastam egy felhasználói megjegyzésben, és egyszer futtathattam is, de sajnos nem reprodukálható. Tehát ezekben az esetekben úgy tűnik, hogy muszáj várja meg az alkalmazás frissítését az AVRCP eseménykezelés tiszta megvalósításával.
A media-button-router wiki szerint “A média gomb szándékának kezelése megrendelt adásokon keresztül történik, és minden alkalmazás meghatározza a vételi prioritást. Tehát talán lehetne olyan alkalmazást írni, amely megjeleníti ezeket a prioritásokat, és valójában lehetővé teszi, hogy meghatározza, milyen alkalmazás indul. Ilyen alkalmazásról azonban nem tudok.
Válasz
Végül felvettek egy szakaszt, hogy megválaszolják ezt a pontos kérdést: https://developer.android.com/guide/topics/media-apps/mediabuttons.html
Válasz
Talán ez segít egy kicsit:
Samsung S5 -> Bluetooth-vevő + In Ear telefon dugaszok
A Samsung S5-öt használom, először a 7digital alkalmazással zene letöltésére és lejátszására. Aztán megváltoztattam és felhasználtam a Cloudplayert. De minden alkalommal, amikor a Clouplayer játszik, és megnyomom a szünet / lejátszás gombot a Bluetooth vevőmön, a 7digital alkalmazásom elkezd zenélni. Nem változtathattam meg egyetlen beállítást sem, hogy megváltoztassam a bluetooth lejátszást / szünetet a Cloudplayer felé. Ezután töröltem az összes 7 számjegyű letöltött zenét, és megpróbáltam újra. Probléma megoldódott! A Lejátszás / szünet most valahogy a Cloudplayerhez kapcsolódik.
Válasz
Ez nem probléma a BT eszközöddel. Ha a telefonjával párosul, a Bluetooth Headset aktív A2DP adatfolyamot játszik le, amelyet mobiltelefonról indítottak. Ha valamilyen szabványos médialejátszóról van szó a telefonján, akkor reagálhat az összes AVRCP vezérlőparancsra, például a lejátszási szünet átugrására, az fw-re, stb. A BT Headset továbbra is aktív A2DP adatfolyam érkezik. Az AVRCP Control üzeneteket elküldi a telefonjára. Most a telefonjának állítólag kell továbbítania ezeket a parancsokat a megfelelő alkalmazásba, az esetek többségében az aktív A2DP streaming forrásba, vagy Ön esetében a telefon továbbra is továbbítja az AVRCP parancsokat az alapértelmezett zenelejátszóra.
A legjobb megoldás az lenne, ha megpróbálnád konfigurálni a mobilodat, feltéve, hogy a lejátszott forrás támogatja az AVRCP vezérlést. Ha nem így van, akkor semmit sem tehet. Ha mégis, akkor a Mobilnak meg kell engednie, hogy ezeket az AVRCP parancsokat az aktív A2DP streaming forrás kezelje.
Válasz
Ez az alkalmazás a “Media Button Router” lesz. https://play.google.com/store/apps/details?id=com.harleensahni.android.mbr