Cosa determina quale applicazione agisce su un comando AVRCP bluetooth?

Sfondo: ho un auricolare Bluetooth A2DP / AVRCP ( Nokia BH -505 ) che utilizzo attivamente per ascoltare sia podcast che musica. Ovviamente li ascolto con diverse app. Lauricolare bluetooth ha alcuni pulsanti di “comando” (AVRCP), relativi allaudio, in particolare: “traccia successiva”, “traccia precedente” e “riproduzione / pausa”

Attualmente ogni volta che premo uno qualsiasi dei comandi , uno dei lettori musicali che ho installato ( Meridian ) riceve sempre il comando, anche quando non è attivo. Quindi quando faccio clic su “riproduci / metti in pausa” intenzionato a mettere in pausa un podcast ( DoggCatcher ), Meridian viene attivato e inizia a riprodurre musica insieme al podcast.

Entrambi i lettori sono impostati su sta utilizzando lauricolare: DoggCatcher ha “Bind to headset” attivato e Meridian ha attivato “Headset Buttons”. Attualmente sto utilizzando Android 2.2.1 senza root su GT-S5570 ma potrebbe essere il rooting e laggiornamento a 2.3 CyanogenMod ( o simili), in futuro.

Ignorando le specifiche, la mia domanda al riguardo è più generale:

  • In che modo Android determina quale app deve reagire a questi comandi? Mi interessa anche una risposta molto tecnica.

Dal punto di vista pratico mi interessa:

  • Devo armeggiare con le impostazioni di ciascuna applicazione per determinare quale applicazione accetta i comandi o esiste un modo generale per determinarlo?
  • Cè un modo per configurare questo in modo che lapplicazione che “è effettivamente attiva ottenga automaticamente sempre la priorità? (come è stato in parte chiesto in unaltra domanda )

In che modo questa domanda differisce da domande simili:

Commenti

Risposta

media-button-router , già menzionato in una delle tue domande collegate, cerca di capire quale app sta attualmente riproducendo musica e per inviare ad essa gli eventi AVRCP. Inoltre, elenca tutte le app installate che dichiarano di ascoltare eventi AVRCP.

Cosa rende complicato AVRCP: alcune app, come Sony “s Music Unlimited , sembra non dichiarare android.intent.action.MEDIA_BUTTON nel file manifest. Per questo (o forse per qualche altro) motivo non possono” essere controllati tramite media- pulsante-router. So che ad es. Music Unlimited può essere controllato tramite AVRCP poiché lho letto in un commento utente e inoltre sono riuscito a farlo funzionare una volta ma sfortunatamente non è riproducibile. Quindi in quei casi sembra che dobbiamo attendere laggiornamento di unapp con unimplementazione pulita della gestione degli eventi AVRCP.

Secondo il wiki di media-button-router “ “La gestione dellintento dei pulsanti multimediali viene eseguita tramite trasmissioni ordinate e ogni app imposta la propria priorità per la ricezione.” Quindi forse potrebbe essere possibile scrivere unapp che mostri queste priorità e, in effetti, lo farebbe consentono di determinare quale applicazione verrà avviata. Tuttavia, non conosco unapplicazione del genere.

Risposta

Hanno finalmente aggiunto una sezione per rispondere esattamente a questa domanda: https://developer.android.com/guide/topics/media-apps/mediabuttons.html

Risposta

Forse questo aiuterà un po :

Samsung S5 -> Ricevitore Bluetooth + prese per telefono In Ear

Sto usando Samsung S5, prima con lapp 7digital per scaricare e riprodurre musica. Poi ho cambiato e utilizzato Cloudplayer. Ma ogni volta che Clouplayer sta riproducendo e premo il pulsante di pausa / riproduzione sul mio ricevitore Bluetooth, la mia app 7digital inizierà a riprodurre musica. Non sono riuscito a modificare alcuna impostazione per modificare la riproduzione / pausa del bluetooth verso Cloudplayer. Ho quindi cancellato tutta la mia musica scaricata da 7digital e ho riprovato. Problema risolto! La riproduzione / pausa è in qualche modo collegata a Cloudplayer ora.

Risposta

Non è un problema con il tuo dispositivo BT. Quando è accoppiato al telefono, lauricolare Bluetooth riproduce lo streaming A2DP attivo avviato dal telefono cellulare. Se si tratta di un lettore multimediale standard sul telefono, può reagire a tutti i comandi di controllo AVRCP come riproduzione, pausa, salto, ecc. Ora, quando si riproduce qualcosa sul Web o un altro lettore che non implementa tutti questi controlli su AVRCP, per BT Headset è ancora un flusso A2DP attivo in arrivo. Invierà messaggi di controllo AVRCP al telefono. Ora è il tuo telefono che dovrebbe instradare questi comandi alla rispettiva app nella maggior parte dei casi alla sorgente di streaming A2DP attiva o nel tuo caso il tuo telefono sta ancora inoltrando i comandi AVRCP al lettore musicale predefinito.

Il tuo la cosa migliore sarebbe provare a configurare il tuo cellulare a condizione che la fonte che stai riproducendo supporti il controllo AVRCP. Se non lo fa, comunque non puoi fare nulla. Se lo fa, allora sicuramente Mobile dovrebbe consentire a questi comandi AVRCP di essere gestiti dalla tua sorgente di streaming A2DP attiva.

Risposta

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *