Pulseaudio> = 1.0
Ao editar o /etc/pulse/default.pa
, podemos carregar o módulo pulseaudio module -on-connect para conectar-se automaticamente a 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. Há uma GUI que permite a conexão com um clique aos dispositivos BT ( stream2ip ).
Editar: A partir da versão 0.2.5, 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) com fallback para o áudio interno, se nenhum dispositivo bluetooth estiver presente.
Edit: Aqui está um script Python rápido e sujo para lhe dar uma idéia 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()
Apenas copie esse script e salve-o como bt-autoconnect.py . Torne o script executável ou execute-o na linha de comando (recomendado) cd /script/directory
e digite:
python bt-autoconnect.py [MAC] [timeout]
Substitua o MAC pelo MAC do seu dispositivo Bluetooth (por exemplo, 00: 0C: 78: 4F: B6: B5) e defina o tempo limite desejado (por exemplo, 10) em segundos quando o script procurar o dispositivo. Esse script ouvirá o MAC fornecido a cada segundo de tempo limite para um dispositivo Bluetooth e o conectará ao PulseAudio, se presente. O script será executado para sempre até ser morto ou o terminal virtual ser fechado.
Às vezes, o PulseAudio parece não estar ciente de que o dispositivo está presente novamente após ter sido desligado. Com alguma esperança, pulseaudio -k
faz com que reapareça.
Não é chique, sem interface gráfica, mas pelo menos nas minhas configurações funcionou bem.
Edite para os interessados: o bt-autoconnect com GUI para configuração conveniente é lançado. Por favor, arquive bugs ou sugestões lá. Obrigado por testar.
sudo service pulseaudio restart
ou reiniciar para que a alteração entre em vigor.Infelizmente, só agora vi a resposta de Takkat: parece ser a melhor maneira que a minha.
Eu acho que isso ainda pode ser relevante para o Pulseaudio <1.0. Ele não usa sondagem, mas ouve eventos Bluetooth no dbus:
fonte