Pulseaudio> = 1.0
Modificando il file /etc/pulse/default.pa
possiamo caricare il modulo pulseaudio module -switch-on-connect per connettersi automaticamente ad un sink audio non appena viene presentato al server audio pulseaudio. Dobbiamo inserire la seguente riga
load-module module-switch-on-connect
Versioni precedenti di pulseaudio
I dispositivi Bluetooth vengono riconosciuti in PulseAudio non appena sono presenti. Tuttavia, la connessione deve essere effettuata manualmente nelle impostazioni audio. C'è una GUI che consente la connessione con un clic ai dispositivi BT ( stream2ip ).
Modifica: dalla versione 0.2.5 stream2ip consente la connessione automatica ai dispositivi Bluetooth.
Modifica: puoi configurare il tuo dispositivo bluez come dispositivo predefinito (ad esempio utilizzando pactl o nelle impostazioni di configurazione) con il fallback all'audio interno se non è presente alcun dispositivo Bluetooth.
Modifica: ecco uno script Python veloce e sporco per darti un'idea su come fare il lavoro:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#
# bt-autoconnect
# Autoconnects Bluetooth Devices to PulseAudio
# (c) Takkat Nebuk
# Licence: GPLv3
# usage:
# bt-autoconnect <MAC> <timeout>
import subprocess
import time
import sys
import string
cli_options = sys.argv
def main():
MAC = cli_options[1]
timeout = cli_options[2]
PMAC = string.replace(MAC,':','_') # PA don't know ':', needs '_'
pa_args = ['pacmd set-default-sink bluez_sink.' + PMAC]
bt_args = ['sdptool browse ' + MAC]
err = False
while err == False:
if subprocess.call(bt_args, shell=True) == 0:
err = subprocess.call(pa_args, shell=True)
time.sleep(int(timeout))
exit()
if __name__ == "__main__":
main()
Basta copiare questo script e salvarlo come bt-autoconnect.py . Rendi eseguibile lo script o eseguilo dalla riga di comando (consigliato) cd /script/directory
e quindi digita:
python bt-autoconnect.py [MAC] [timeout]
Sostituisci MAC con il MAC del tuo dispositivo Bluetooth (es. 00: 0C: 78: 4F: B6: B5) e imposta un timeout desiderato (es. 10) in secondi quando lo script cerca il dispositivo. Questo script ascolterà quindi il MAC specificato ogni secondo di timeout per un dispositivo Bluetooth e lo collegherà a PulseAudio se presente. Lo script verrà eseguito per sempre fino a quando non viene ucciso o il terminale virtuale è stato chiuso.
A volte PulseAudio sembra non essere a conoscenza del fatto che il dispositivo sia nuovamente presente dopo che è stato spento. Con un po 'di speranza lo pulseaudio -k
fa riapparire.
Non elegante, nessuna GUI ma almeno nelle mie impostazioni ha funzionato bene.
Modifica per gli interessati: viene rilasciato bt-autoconnect con GUI per una comoda configurazione. Si prega di presentare bug o suggerimenti lì. Grazie per il test.