Passa automaticamente il dispositivo di uscita audio all'auricolare Bluetooth e forza al profilo A2DP al momento della connessione


11

Le mie cuffie bluetooth (Plantronics Backbeat Go2) sono collegate perfettamente al mio sistema, ma ci sono diversi passaggi manuali che devo fare per rendere questo lavoro che mi piacerebbe molto automatizzare:

  1. Dopo ogni riavvio, devo eseguire pactl load module module-bluetooth-discover nel terminale per ottenere la connessione del dispositivo. Ho provato a metterlo in uno script di shell per l'esecuzione all'avvio, ma nessun dado :(
  2. Le mie cuffie si collegano automaticamente senza problemi, ma per impostazione predefinita sono sempre su Telefonia Duplex o anche su Off anziché A2DP; Ho provato e fallito con diverse strategie diverse per forzare A2DP :(
  3. Forza l'auricolare BT come dispositivo di output predefinito. Ho provato anche diverse strategie qui ... sfortunatamente ogni volta che collego l'auricolare l'indice di pacmd sembra cambiare, quindi non posso forzare un default nel file di configurazione PA set-default-sink in quel modo. E l'utilizzo del nome elencato non sembra funzionare neanche - se l'auricolare non è presente, passa agli altoparlanti e non torna indietro se l'auricolare si collega :(

Grazie per qualsiasi consiglio che potresti avere sulla risoluzione di questi problemi!

Risposte:


8

Questo ha funzionato per me: https://sandalov.org/blog/2146/

Istruzioni copiate qui per i posteri:

Add to /etc/pulse/default.pa to automatically switch pulseaudio sink to Bluez:

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect  # Add this
.endif

Modify/Create /etc/bluetooth/audio.conf to auto select A2DP profile (instead of HSP/HFP):

[General]
Disable=Headset # Add this

Apply changes:

pulseaudio -k # Restarts pulseaudio

# You may need to turn your bluetooth headphones off, then back on

1
Nota: il commento "aggiungi questo" è importante, poiché la riga " .ifexists module-bluetooth-discover.so" esiste già. All'inizio ho provato ad aggiungere le quattro righe alla fine e non ha funzionato. Funziona solo l'aggiunta di una riga nel posto giusto.
Fabian Röling,

2
su Ubuntu Bionic ho impostato AutoConnect=trueinvece di Disable = Headset
develCuy

Si noti che dopo PulseAudio versione 11, auto_switch è stato convertito in un numero intero, quindi ha bisogno di un valore come 0, 1, 2 a seconda della funzionalità di commutazione automatica necessaria: freedesktop.org/wiki/Software/PulseAudio/Notes/11.0
mitsos1os

2

Non è solo dopo un riavvio, ma anche dopo aver disconnesso e ricollegato un dispositivo in grado sia di profilo HSP, sia di profilo A2DP che Bluez lo collega sempre in modalità HSP (headest).

Non posso dire in dettaglio cosa sta succedendo sotto il cofano (il Bluetooth ha alcune stranezze) ma sospetto che stiamo collegando un nuovo dispositivo come cuffia anziché come dispositivo audio o AudioSink tramite dbus.

Non sembra esserci alcuna impostazione con cui possiamo controllarlo. Non sono a conoscenza di alcuna impostazione che possiamo configurare per impostazione predefinita un dispositivo Bluetooth su A2DP al momento della connessione (ma non posso escludere di aver perso un pezzo di documentazione da qualche parte). Questo può essere considerato un bug.

A un certo punto ho scritto uno script per stabilire connessioni Bluetooth utilizzando il profilo audio . Questo script è stato incluso in una piccola applicazione GUI Python ( bt-autoconnect su launchpad o tramite il mio ppa: takkat-nebuk / takkat ) che tra le altre modifiche fa esattamente questo, ma è più un hack che una soluzione definita, e purtroppo lo fa non funziona con tutti gli adattatori in giro, ma collegherà prima le mie cuffie Philips in modalità A2DP (anche se le impostazioni audio sostengono ancora che fosse HFP ma questo è un altro problema).


Grazie per l'input Takkat ... Sto pensando di avere un cerchio, e sarà un processo manuale :(
Loghi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.