Pulseaudio > = 1,0
Ao editar o /etc/pulse/default.pa
, podemos carregar o módulo pulseaudio module-switch-on-connect para fazer a autoconexão em um coletor de áudio assim que ele for apresentado ao servidor de som pulseaudio. Precisamos inserir a seguinte linha
load-module module-switch-on-connect
Versões anteriores do pulseaudio
Os dispositivos Bluetooth são reconhecidos no PulseAudio assim que estão presentes. No entanto, a conexão precisa ser feita manualmente nas configurações de áudio. Existe uma GUI que permite conexão com um clique para dispositivos BT ( stream2ip ).
Editar: A partir da versão 0.2.5, o stream2ip permite a conexão automática a dispositivos Bluetooth.
Editar: você pode configurar seu dispositivo bluez como dispositivo padrão (por exemplo, usando pactl ou nas configurações de configuração) com fallback para áudio interno se nenhum dispositivo Bluetooth estiver presente.
Editar: Aqui está um script Python rápido e sujo para você ter uma ideia de como fazer o trabalho:
#!/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()
Copie esse script e salve-o como bt-autoconnect.py . Torne o script executável ou execute-o a partir da linha de comando (recomendado) por cd /script/directory
e, em seguida, digite:
python bt-autoconnect.py [MAC] [timeout]
Substitua MAC pelo MAC do seu dispositivo Bluetooth (por exemplo, 00: 0C: 78: 4F: B6: B5) e defina um tempo limite desejado (por exemplo, 10) segundos quando o script procura pelo dispositivo. Este script irá então escutar o MAC todo tempo limite segundos para um dispositivo Bluetooth e conectá-lo ao PulseAudio, se presente. O script será executado para sempre até que esteja sendo eliminado ou o terminal virtual esteja fechado.
Às vezes, o PulseAudio parece não estar ciente de que o dispositivo está presente novamente depois de ter sido desligado. Com alguma esperança pulseaudio -k
faz reaparecer.
Não é extravagante, não tem interface gráfica, mas pelo menos nas minhas configurações funcionou o.k ..
Editar para os interessados: o bt-autoconnect com GUI para instalação conveniente é liberado. Por favor arquive erros ou sugestões lá. Obrigado por testar.