DISATTIVARE STANDBY BLUETOOTH DURANTE LA NAVIGAZIONE GPS

KaTmaiExE

Utente registrato
Registrato
18 Marzo 2013
Messaggi
2
Punteggio reazioni
1
Punti
3
Terminale
Xiaomi M2
Questa guida è per tutti coloro che utilizzano il bluetooth con
supporto a2dp collegato all'impianto aux della propria auto per
ascoltare le indicazioni vocali del software di navigazione gps.


il protocollo a2dp è utilizzato per ascoltare musica in formato
stereo, ma è capace di riprodurre qualsiasi suono proveniente dal
nostro smartphone.

Infatti quando utilizziamo il software di navigazione la voce viene
riprodotta tramite il dispositivo bluetooth a2dp ma risulta essere
incomprensibile a causa dello standby che entra in funzione subito
dopo la fine di una traccia mp3 oppure la voce che proviene dal
software di navigazione.

questo comporta una voce tagliata a metà!

esempio: se il navigatore deve comunicarci che tra 100 metri dobbiamo
girare a destra verrà riprodotta solo metà della frase (o quasi nulla
se l'indicazione risulta essere breve) questo a causa dello standby!

questo accade perchè il kernel deve "risvegliare" la periferica
bluetooth e appena questa sarà pronta verrà riprodotto l'audio. questa
operazione può richiedere anche un secondo ed in quel secondo il
software di navigazione ha già iniziato a "parlare" ma la prima parte
dell'indicazione vocale viene persa..

e molto spesso ci capita di ascoltare frasi come:

"ento metri gira a destra"

in realtà la frase completa è "tra cento metri gira a destra"

Come risolvere il problema?

in effetti è semplice: basta ascoltare la musica e avere il navigatore
acceso in modo da tenere la periferica a2dp sempre sveglia..

ma se non vogliamo ascoltare la musica e invece vogliamo ascoltare solo la guida vocale del
navigatore?


per risolvere definitivamente il problema ho realizzato uno script che
tiene sveglia la periferica bluetooth a2dp solo quando il software di
navigazione è attivo e solo se la periferica bluetooth a2dp è attiva.

come funziona?

il programma è scritto in linguaggio bash e gira sul sistema proprio
come un servizio (quindi non troverete nessun apk da installare e
nessuna interfaccia grafica).. questo presuppone che abbiate un pò di
dimistichezza con adb, ma in realtà sembra più facile a
farsi che a dirsi!

procediamo!


1) collegare lo smartphone ad internet (lo script scaricherà due file necessari al suo funzionamento)
2) collegare lo smartphone tramite il cavo usb al pc
3) copiare il file btwakeup.sh (presente nel file zip allegato) nella root della sd card (virtuale)
4) avviare il prompt dei comandi di windows e recarsi nella directory dove si trova adb.exe
5) eseguire il comando adb shell
6) eseguire il comando su (bisogna avere i permessi di root abilitati)
7) eseguire il comando sh /sdcard/btwakeup.sh

se tutto è andato a buon fine apparirà la scritta REBOOT DEVICE!
quindi riavviate il vostro MI-2!

la guida è stata testata sul terminale xiaomi MI-2 con MIUI versione 4 (3.2.22) e 5 (3.4.12)

cosa fa lo script ?

1) scarica dal mio account google drive i file stagefright (serve a riprodurre i file audio) e silence.ogg (traccia audio silenziosa)

2) crea la cartella /data/btwakeup con i seguenti file al suo interno
btwakeup.conf
btwakeup.sh
silence.ogg
stagefright

3) aggiunge la riga "busybox nohup /data/btwakeup/btwakeup.sh >/data/btwakeup/nohup.out 2>&1 &" al file /etc/init.xiaomi.aries.wifi.sh (serve per l'avvio automatico dello script al boot)
 

Allegati

  • btwakeup.sh.zip
    1,5 KB · Visite: 9
  • Like
Reazioni: xeGox

Utenti online

Non ci sono Iscritti online al momento.

Statistiche del sito

Discussioni
33.412
Messaggi
314.111
Membri
34.079
Ultimo iscritto
francecsa