Pulseaudio> = 1.0
En éditant le /etc/pulse/default.pa
nous pouvons charger le module pulseaudio module -switch-on-connect pour se connecter automatiquement à un récepteur audio dès qu'il est présenté au serveur de son pulseaudio. Nous devons insérer la ligne suivante
load-module module-switch-on-connect
Versions précédentes de pulseaudio
Les appareils Bluetooth sont reconnus dans PulseAudio dès qu'ils sont présents. Cependant, la connexion doit être établie manuellement dans les paramètres audio. Il existe une interface graphique qui permet une connexion en un clic aux périphériques BT ( stream2ip ).
Edit: à partir de la version 0.2.5 stream2ip permet la connexion automatique aux appareils Bluetooth.
Edit: vous pouvez configurer votre périphérique bluez comme périphérique par défaut (par exemple en utilisant pactl ou dans les paramètres de configuration) avec retour à l'audio interne si aucun périphérique Bluetooth n'est présent.
Edit: Voici un script Python rapide et sale pour vous donner une idée sur la façon de faire le travail:
#!/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()
Copiez simplement ce script et enregistrez-le sous bt-autoconnect.py . Rendez le script exécutable ou exécutez-le à partir de la ligne de commande (recommandé) par cd /script/directory
puis tapez:
python bt-autoconnect.py [MAC] [timeout]
Remplacez MAC par le MAC de votre appareil Bluetooth (par exemple 00: 0C: 78: 4F: B6: B5) et définissez un délai d'attente (par exemple 10) en secondes lorsque le script recherche l'appareil. Ce script écoutera ensuite le MAC donné toutes les secondes d' expiration pour un périphérique Bluetooth et le connectera à PulseAudio s'il est présent. Le script s'exécutera indéfiniment jusqu'à ce qu'il soit tué ou que le terminal virtuel soit fermé.
Parfois, PulseAudio ne semble pas être au courant que l'appareil est de nouveau présent après sa mise hors tension. Avec un peu d'espoir, pulseaudio -k
il réapparaît.
Pas luxueux, pas d'interface graphique, mais au moins dans mes paramètres, cela fonctionnait bien.
Modifier pour ceux qui sont intéressés: bt-autoconnect avec GUI pour une configuration pratique est publié. Veuillez y déposer des bogues ou des suggestions. Merci pour les tests.
sudo service pulseaudio restart
ou redémarrer pour que la modification prenne effet.Malheureusement, je viens de voir la réponse de Takkat, cela semble être la meilleure façon que la mienne.
Je suppose que cela pourrait toujours être pertinent pour Pulseaudio <1.0. Il n'utilise pas d'interrogation, mais écoute les événements Bluetooth sur dbus:
la source