Pulseaudio> = 1,0
Poprzez edycję /etc/pulse/default.pa
możemy załadować moduł pulseaudio moduł -włącz-włącz-połącz, aby automatycznie połączyć się z zlewem audio, jak tylko zostanie przedstawiony serwerowi dźwięku pulseaudio. Musimy wstawić następujący wiersz
load-module module-switch-on-connect
Poprzednie wersje pulseaudio
Urządzenia Bluetooth są rozpoznawane w PulseAudio, gdy tylko są obecne. Jednak połączenie należy wykonać ręcznie w ustawieniach audio. Istnieje interfejs GUI, który umożliwia połączenie jednym kliknięciem z urządzeniami BT ( stream2ip ).
Edycja: Od wersji 0.2.5 stream2ip umożliwia automatyczne łączenie z urządzeniami Bluetooth.
Edycja: możesz skonfigurować urządzenie bluez jako urządzenie domyślne (np. Używając pactl lub w ustawieniach konfiguracji) z możliwością powrotu do wewnętrznego dźwięku, jeśli nie ma urządzenia bluetooth.
Edycja: Oto szybki i brudny skrypt Pythona, który daje wyobrażenie o tym, jak wykonać zadanie:
#!/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()
Po prostu skopiuj ten skrypt i zapisz go jako bt-autoconnect.py . Ustaw skrypt jako wykonywalny lub uruchom go z wiersza poleceń (zalecane), cd /script/directory
a następnie wpisz:
python bt-autoconnect.py [MAC] [timeout]
Zamień MAC na MAC urządzenia Bluetooth (np. 00: 0C: 78: 4F: B6: B5) i ustaw żądany limit czasu (np. 10) w sekundach, gdy skrypt wyszuka urządzenie. Ten skrypt będzie następnie nasłuchiwał podanego MAC za każdym razem, gdy limit czasu dla urządzenia Bluetooth, i łączy go z PulseAudio, jeśli jest obecny. Skrypt będzie działał wiecznie, dopóki nie zostanie zabity lub wirtualny terminal zostanie zamknięty.
Czasami PulseAudio wydaje się nie być świadomym obecności urządzenia po jego wyłączeniu. Z pewną nadziejąpulseaudio -k
sprawia, że pojawia się ponownie.
Nie jest to wyszukane, nie ma GUI, ale przynajmniej w moich ustawieniach działało dobrze.
Edycja dla zainteresowanych: wydanie bt-autoconnect z GUI dla wygodnej konfiguracji. Proszę zgłaszać tam błędy lub sugestie. Dziękujemy za testowanie.
sudo service pulseaudio restart
lub uruchomić ponownie, aby zmiana zaczęła obowiązywać.Niestety, dopiero teraz widziałem odpowiedź Takkata: Wydaje się, że jest to lepsza droga niż moja.
Wydaje mi się, że może to być nadal istotne dla Pulseaudio <1.0. Nie używa odpytywania, ale nasłuchuje zdarzeń Bluetooth na dbus:
źródło