Co určuje, která aplikace pracuje s příkazem bluetooth AVRCP?

Pozadí: Mám bluetooth headset A2DP / AVRCP ( Nokia BH -505 ), které aktivně používám k poslechu podcastů i hudby. Samozřejmě je poslouchám pomocí různých aplikací. Bluetooth headset má některá „příkazová“ (AVRCP) tlačítka, relevantní pro zvuk – konkrétně: „další stopa“, „předchozí stopa“ a „přehrát / pozastavit“

Aktuálně, kdykoli stisknu některý z příkazů , jeden z hudebních přehrávačů, které jsem nainstaloval ( Meridian ), vždy dostane příkaz – i když není aktivní. Takže když kliknu na „přehrát / pozastavit“ zamýšlí pozastavit podcast ( DoggCatcher ), místo toho se aktivuje Meridian a začne s podcastem přehrávat hudbu.

Oba hráči jsou nastaveni na používat náhlavní soupravu: DoggCatcher má zapnutou funkci „Bind to headset“ a Meridian zapnutou „Headset Buttons“. Momentálně používám nekořenovaný Android Android 2.2.1 na GT-S5570, ale může být rootován a upgradován na 2.3 CyanogenMod ( nebo podobně), v budoucnu.

Ignorování specifik, moje otázka je obecnější:

  • Jak Android určuje, která aplikace se dostane reagovat na tyto příkazy? Zajímá mě i velmi technická odpověď.

Po praktické stránce se zajímám o:

  • Musím s každým nastavením aplikací manipulovat, abych určil, která aplikace tyto příkazy přijímá, nebo existuje nějaký obecný způsob, jak to určit?
  • Existuje způsob, jak konfigurovat to proto, aby aplikace, která je skutečně aktivní , měla automaticky vždy prioritu? (jak bylo částečně položeno v další otázce )

Jak se tato otázka liší od podobných otázek:

Komentáře

Odpovědět

media-button-router , již zmíněný v jedné z vašich propojených otázek, pokusí se zjistit která aplikace aktuálně přehrává hudbu a odesílat do ní události AVRCP. Kromě toho obsahuje seznam všech nainstalovaných aplikací, které deklarují k poslechu událostí AVRCP.

Co dělá AVRCP komplikovaným: Některé aplikace, například Sony „Music Unlimited nedeklaruje android.intent.action.MEDIA_BUTTON ve svém manifestu. Z tohoto (nebo možná z nějakého jiného) důvodu nemohou být ovládáni prostřednictvím media- knoflíkový router. Vím, že např. Music Unlimited lze ovládat pomocí AVRCP, protože jsem si ho přečetl v komentáři uživatele a také jsem ho dokázal spustit jednou , ale bohužel není reprodukovatelný. Takže v těchto případech se zdá, že musíme počkejte na aktualizaci aplikace s čistou implementací zpracování událostí AVRCP.

Podle wiki stránky media-button-router „ „Zpracování záměru mediálního tlačítka se provádí prostřednictvím objednaného vysílání a každá aplikace nastavuje svou vlastní prioritu pro příjem.“ Možná by tedy bylo možné napsat aplikaci, která zobrazuje tyto priority a ve skutečnosti by vám umožní určit, která aplikace se spustí. O takové aplikaci však nevím.

Odpověď

Nakonec přidali sekci, která odpovídá na tuto přesnou otázku: https://developer.android.com/guide/topics/media-apps/mediabuttons.html

Odpověď

Možná to trochu pomůže:

Samsung S5 -> Bluetooth přijímač + sluchátka do uší

Používám Samsung S5, nejprve se 7digitální aplikací ke stahování a přehrávání hudby. Pak jsem se změnil a použil Cloudplayer. Ale pokaždé, když hraje Clouplayer, a stisknu tlačítko pause / play na přijímači Bluetooth, moje 7digital aplikace začne přehrávat hudbu. Nemohl jsem změnit žádné nastavení, abych změnil bluetooth přehrávání / pozastavení směrem k Cloudplayeru. Poté jsem odstranil veškerou svou 7digitální staženou hudbu a zkusil to znovu. Problém je vyřešen! Přehrát / pozastavit je nyní nějak spojeno s Cloudplayerem.

Odpovědět

S vaším BT zařízením to není problém. Po spárování s vaším telefonem přehrává Bluetooth Headset aktivní stream A2DP iniciovaný z mobilního telefonu. Pokud se jedná o nějaký standardní přehrávač médií v telefonu, může reagovat na všechny ovládací příkazy AVRCP, jako je přehrávání, pauza, fw atd. Nyní, když hrajete něco na webu nebo na jiném přehrávači, který neimplementuje všechny tyto ovládací prvky přes AVRCP, BT Headset, stále přichází aktivní stream A2DP. Bude odesílat zprávy AVRCP Control do vašeho telefonu. Nyní má váš telefon směrovat tyto příkazy do příslušné aplikace ve většině případů do aktivního zdroje streamování A2DP nebo ve vašem případě váš telefon stále předává příkazy AVRCP do výchozího hudebního přehrávače.

Váš nejlepší by bylo zkusit nakonfigurovat svůj mobilní telefon za předpokladu, že zdroj, který hrajete, podporuje ovládání AVRCP. Pokud tomu tak není, nemůžete nic dělat. Pokud ano, pak by mobil měl definitivně povolit, aby tyto příkazy AVRCP zpracovával váš aktivní streamovací zdroj A2DP.

Odpověď

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *