Obecnie zainstalowałem Ubuntu 16.04 i a2dp pracowałem przy świeżej instalacji, którą wolę pozostawić jako ostatnią opcję. Po sparowaniu z ustawień Bluetooth i ponownym sparowaniu czasami udaje mu się być na profilu a2dp, ale jeśli zestaw słuchawkowy zostanie odłączony, a następnie ponownie podłączony, profile a2dp nie będą już działać (choć mówi, że jest na a2dp), działa tylko po przejściu na HSP / HSF, a następnie nie mogę ustawić go na a2dp.
Próbowałem zrobić:
pacmd set-card-profile <index> a2dp_sink
ale pojawia się następujący błąd:
"Failed to set card profile to 'a2dp_sink'"
Jestem dość niedoświadczony w Linuksie, więc nie wiem, jak uzyskać dzienniki ani czego w nich szukać, ale otrzymałem to z kart list pacmd:
Kiedy to działa:
name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 27
properties:
device.description = "Jabra REVO a4.0.0"
device.string = "50:C9:71:97:A1:86"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
bluez.class = "0x240404"
bluez.alias = "Jabra REVO a4.0.0"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: unknown)
off: Off (priority 0, available: yes)
active profile: <a2dp_sink>
sinks:
bluez_sink.50_C9_71_97_A1_86/#6: Jabra REVO a4.0.0
sources:
bluez_sink.50_C9_71_97_A1_86.monitor/#10: Monitor of Jabra REVO a4.0.0
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
Kiedy nie:
name: <bluez_card.50_C9_71_97_A1_86>
driver: <module-bluez5-device.c>
owner module: 25
properties:
device.description = "Jabra REVO a4.0.0"
device.string = "50:C9:71:97:A1:86"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_50_C9_71_97_A1_86"
bluez.class = "0x240404"
bluez.alias = "Jabra REVO a4.0.0"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
profiles:
headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: unknown)
a2dp_sink: High Fidelity Playback (A2DP Sink) (priority 10, available: yes)
off: Off (priority 0, available: yes)
active profile: <off>
ports:
headset-output: Headset (priority 0, latency offset 0 usec, available: yes)
properties:
headset-input: Headset (priority 0, latency offset 0 usec, available: unknown)
properties:
A właścicielem jest:
name: <module-bluez5-device>
argument: <path=/org/bluez/hci0/dev_50_C9_71_97_A1_86>
used: 0
load once: no
properties:
module.author = "João Paulo Rechi Vita"
module.description = "BlueZ 5 Bluetooth audio sink and source"
module.version = "8.0"
Próbowałem już zmodyfikować /etc/bluetooth/audio.conf i zainstalować blueman, ale to nie działało. Próbowałem także ponownie zainstalować bluez i pulseaudio, ale nic się nie zmieniło.
Czy jest jakiś sposób, aby wiedzieć, co jest nie tak, i naprawić to?
Odpowiedzi:
W oparciu o wiersz „aktywny profil: <wyłącz>” profil dźwiękowy nie został aktywowany.
Jednym z łatwych w użyciu programów do zmiany profilu jest pavucontrol. Możesz go zainstalować za pomocą
sudo apt install pavucontrol -y
. Następnie uruchom pavucontrol z wiersza poleceń lub Alt + F2, jeśli korzystasz z Kubuntu i wchodzisz do pavucontrol.Wybierz kartę konfiguracji, a następnie spróbuj zmienić profil słuchawek i sprawdź, czy to się aktualizuje. Wygląda na to, że w systemie Linux nadal występuje błąd z a2dp bluetooth i wpływa on na dwie z moich instalacji 16.04. Jeśli już napisano, że A2DP zmieni je na OFF, odłącz urządzenie w aplecie bluetooth, a następnie podłącz je ponownie. Następnie w końcu przejdź do zmiany profilu z powrotem na A2DP i powinien on działać.
Możesz także wypróbować następujące polecenia w wierszu poleceń i powinien on wypełnić większość kart. Zamień liczbę 2 na numer indeksu aktualnie dla obu poniższych poleceń pacmd.
Aby uzyskać bardziej skomplikowany, ale zautomatyzowany sposób wykonania tej samej czynności w celu wyłączenia profilu, a następnie powrotu do formatu a2dp, ale bez odłączania i łączenia urządzenia Bluetooth
Miałem też napisać działający, ale niechlujny skrypt, aby zrobić to samo, ale także odłączyć i ponownie podłączyć słuchawki bluetooth. Pobiera indeks profilu, ponieważ indeks zmienia się za każdym razem, gdy urządzenie jest odłączane i ponownie podłączane. Jest to zapisane na stałe za pomocą identyfikatora urządzenia dla zestawu słuchawkowego wymienionego powyżej
Podczas testów skończyło mi się 5 sekund na sen zamiast 3, ponieważ urządzenie nie było jeszcze gotowe do zmiany profilu audio. Twoje wyniki mogą się różnić o kilka sekund +/- 5 sekund. Edycja dotycząca potencjalnej pułapki. Odkryłem, że czasami trzeba uruchomić większy skrypt dwa razy, zanim zadziała. Nie jestem pewien, czy wydłużenie czasu snu pomogłoby, czy nie, ponieważ tego nie testowałem. Ale użyłem go na dwóch maszynach ze słuchawkami tej samej marki BT i robi to, co powinien, w celu zautomatyzowania procesu, aby dźwięk działał na słuchawkach.
Ostatecznie problem zostanie załatany w pakiecie bluetooth, ale wydaje się, że powraca w nowych wersjach Ubuntu, a także w innych wersjach systemu Linux. Ale w każdym razie nadzieja, która ci pomoże
źródło
bluetoothctl disconnect aa:bb:cc:dd:ee:ff && bluetoothctl connect aa:bb:cc:dd:ee:ff
przed kliknięciem prawym przyciskiem myszy w menu Urządzenia pozwoli mi zmienić profil audio na A2DP. Od czasu do czasu muszę też zabijać proces bluemana-menedżera dziecka, kiedy to zbyt długo, aby przywołać menu urządzeń.W celu umożliwienia system mają być wykrywane jako zlewu A2DP (np do odtwarzania muzyki z telefonu przez głośniki komputera), dodać
Enable=Source,Sink,Media,Socket
pod[General]
w/etc/bluetooth/audio.conf
.Po wykonaniu tej czynności zrestartuj demona bluetooth
Podłącz swoje urządzenie słuchawkowe
Sprawdź swoją kartę i ustaw profil
źródło
/etc/bluetooth/main.conf
najnowszej wersjiMiałem ten problem na Ubuntu 16.04.1 LTS, a zastosowanie rozwiązania GDM znalezionego w https://wiki.debian.org/BluetoothUser/a2dp rozwiązało go.
W szczególności utwórz / edytuj,
/var/lib/gdm3/.config/pulse/client.conf
aby przeczytać:Następnie
Dodałem również do
/etc/pulse/default.pa
Chociaż może to nie być absolutnie konieczne.
Po ponownym uruchomieniu, połączyłem się za pomocą menedżera bluetooth, mogłem pomyślnie przełączyć profil audio na
a2dp_sink
.źródło
lagerismi opublikował tutaj skrypt na starterze w oparciu o odpowiedź Jamie S.
Zmień adres MAC urządzenia w zmiennej wewnątrz skryptu! (można znaleźć za pomocą
bluetoothctl
-> Urządzenie)Spraw, aby skrypt był wykonywalny
chmod a-x bluetooth_headphone_reactivation.sh
Do automatycznego wykonywania przy uruchomieniu (działa tylko wtedy, gdy zestaw słuchawkowy jest już włączony):
Aby szybko wykonać ręcznie:
Scenariusz:
źródło
-e
zecho
.Na Xubuntu 16.04.2
Użyj menedżera blueman :
Mój skrypt bash JBL
źródło
Jeśli więc używasz Debiana, możesz wykonać następujące czynności: Odmówiono zmiany profilu na a2dp_sink: Brak połączenia
Problem
Zestaw słuchawkowy Bluetooth jest podłączony, ale ALSA / PulseAudio nie odbiera podłączonego urządzenia lub nie ma urządzenia do pobrania. Dzieje się tak, ponieważ GDM przechwytuje ujście A2DP na początku sesji, ponieważ GDM potrzebuje pulseaudio w sesji gdm dla ułatwienia dostępu. Na przykład czytnik ekranu tego wymaga.
Rozwiązanie
Aby uniemożliwić GDM przechwytywanie ujścia A2DP podczas uruchamiania sesji, edytuj
/var/lib/gdm3/.config/pulse/client.conf
(lub utwórz go, jeśli nie istnieje):Następnie musisz udzielić dostępu do tego pliku użytkownikowi Debian-gdm:
Konieczne będzie również wyłączenie uruchamiania pulseaudio:
Aby automatycznie połączyć a2dp dla niektórych urządzeń, dodaj to do
/etc/pulse/default.pa
:Restart.
źródło
Jestem pewien, że poprzednie odpowiedzi faktycznie próbują rozwiązać pierwotną przyczynę problemu. Nie udało mi się jednak zmusić żadnego z nich do pracy. Miałem dokładnie ten sam problem co OP, ale na Linux Mint 17/18. Napisałem ten skrypt, aby niezawodnie połączyć bluetooth i używać a2dp.
Skopiuj / wklej dla potomności, ale sedno sprawy polega na tym, że dokładnie odwzorowuje to, co OP (i ja) musieliby zrobić w interfejsie użytkownika.
Skrypt Dominika nie działałby dla mnie niezawodnie, ponieważ próbowałby tylko raz wszystko skonfigurować. Musiałbym uruchomić go wiele razy, aby działał. Właśnie z tym skończyłem, to działa za każdym razem.
źródło
Jak tu udokumentowano , dzieje się tak, ponieważ GDM przechwytuje ujście A2DP na początku sesji, ponieważ GDM potrzebuje pulseaudio w sesji gdm dla ułatwienia dostępu.
Spróbuj dodać to do „/var/lib/gdm3/.config/pulse/default.pa” lub utwórz go, a następnie uruchom ponownie:
źródło
Próbowałem skonfigurować Bluetooth i zawsze otrzymywałem ten błąd.
Odkryłem, że problemem był Skype. Jeśli mam uruchomiony Skype, nie mogę ustawić
a2dp_sink
profilu.Jeśli więc napotkasz ten problem, sprawdź, czy Skype jest uruchomiony i wyłącz go.
źródło
źródło
Wybrałem go rozwiązać z reguły udev, ponieważ jestem jedynym użytkownikiem tego systemu, tak
$USER
,$XAUTHORITY
i$DISPLAY
są dobrze znane.Być może jest to przydatne dla kogoś, kto chce rozwiązania zdefiniowanego w jednym pliku, działającego na Ubuntu 18.04.1 LTS.
Hak jest uruchamiany przez
input
podsystem, ponieważ głośnik wydaje się być w pełni zainicjowany na tym etapie.Wiki Archlinux wymienia urządzenia Cambridge Silicon Radio, które podają niewłaściwy profil przy połączeniu ( https://wiki.archlinux.org/index.php/Bluetooth_headset#A2DP_sink_profile_is_unavailable ). Mogę potwierdzić to zachowanie za pomocą głośnika bluetooth „JBL GO 2”, który zachowuje się źle, jak już wspomniano. a2dp wydaje się być dostępny krótko po podłączeniu - być może problem z synchronizacją?
źródło
To rozwiązało problem z ustawieniem profilu karty dla mnie: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1181106/comments/15
Zacytować:
źródło