Pulseaudio> = 1,0
Durch Bearbeiten der können /etc/pulse/default.pa
wir das pulseaudio-Modul Modul-Einschalten-Verbinden laden, um es automatisch mit einer Audio-Senke zu verbinden, sobald es dem pulseaudio-Soundserver präsentiert wird. Wir müssen die folgende Zeile einfügen
load-module module-switch-on-connect
Frühere Versionen von pulseaudio
Bluetooth-Geräte werden in PulseAudio erkannt, sobald sie vorhanden sind. Die Verbindung muss jedoch manuell in den Audioeinstellungen hergestellt werden. Es gibt eine GUI, die eine Ein-Klick-Verbindung zu BT-Geräten ( stream2ip ) ermöglicht.
Bearbeiten: Ab Version 0.2.5 ermöglicht stream2ip die automatische Verbindung zu Bluetooth-Geräten.
Bearbeiten: Sie können Ihr bluez-Gerät als Standardgerät einrichten (z. B. mithilfe von pactl oder in den Konfigurationseinstellungen) und dabei auf internes Audio zurückgreifen, wenn kein Bluetooth-Gerät vorhanden ist.
Bearbeiten: Hier ist ein schnelles und unsauberes Python-Skript, das Ihnen eine Vorstellung davon gibt, wie Sie den Job ausführen:
#!/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()
Kopieren Sie einfach dieses Skript und speichern Sie es als bt-autoconnect.py . Machen Sie das Skript ausführbar oder führen Sie es über die Befehlszeile aus (empfohlen) cd /script/directory
und geben Sie Folgendes ein:
python bt-autoconnect.py [MAC] [timeout]
Ersetzen Sie den MAC durch den MAC Ihres Bluetooth-Geräts (z. B. 00: 0C: 78: 4F: B6: B5) und stellen Sie eine gewünschte Zeitüberschreitung (z. B. 10) in Sekunden ein, wenn das Skript nach dem Gerät sucht. Dieses Skript hört dann alle Timeout- Sekunden nach einem Bluetooth-Gerät auf dem angegebenen MAC und verbindet es mit PulseAudio, falls vorhanden. Das Skript wird für immer ausgeführt, bis es beendet wird oder das virtuelle Terminal geschlossen wurde.
Manchmal scheint PulseAudio nicht zu bemerken, dass das Gerät nach dem Ausschalten wieder vorhanden ist. Mit etwas Hoffnung pulseaudio -k
taucht es wieder auf.
Keine Fantasie, keine GUI, aber zumindest in meinen Einstellungen hat es funktioniert.
Edit für Interessenten: bt-autoconnect mit GUI für komfortables Setup ist freigegeben. Bitte reichen Sie dort Fehler oder Vorschläge ein. Danke fürs Testen.
sudo service pulseaudio restart
oder neu starten müssen , damit die Änderung wirksam wird.Leider habe ich erst jetzt die Antwort von Takkat gesehen, es scheint der bessere Weg zu sein als meiner.
Ich denke, dies könnte für Pulseaudio <1.0 immer noch relevant sein. Es wird kein Polling verwendet, sondern es werden Bluetooth-Ereignisse auf dem dbus abgehört:
quelle