Автоматично перемикайте пристрій виведення звуку на гарнітуру Bluetooth & примушуйте до профілю A2DP при підключенні


11

Моя Bluetooth-гарнітура (Plantronics Backbeat Go2) добре поєднана з моєю системою, але я маю зробити кілька кроків вручну, щоб зробити цю роботу, яку я дуже хотів би мати автоматизованою:

  1. Після кожної перезавантаження мені потрібно запустити модуль pactl load-module-bluetooth-виявити в терміналі, щоб пристрій взагалі підключився. Я спробував поставити це в сценарій оболонки для запуску, але без кісток :(
  2. Моя гарнітура підключається автоматично без проблем, але вона завжди за замовчуванням є Telephony Duplex або навіть Off замість A2DP; Я намагався і не вдався з кількома різними стратегіями змусити A2DP :(
  3. Примушуйте гарнітуру BT бути пристроєм виводу за замовчуванням. Спробував кілька стратегій і тут ... на жаль, кожного разу, коли я підключаю гарнітуру, індекс від pacmd, здається, змінюється, тому я не можу примусити цей параметр у файлі PA conf-set-default-sink таким чином. І використання переліченого імені також не працює - якщо гарнітура відсутня, вона перемикається на динаміки і не перемикається назад, якщо гарнітура підключається :(

Дякуємо за будь-які поради щодо вирішення цих питань!

Відповіді:


8

Це працювало для мене: https://sandalov.org/blog/2146/

Інструкції, скопійовані тут для нащадків:

Add to /etc/pulse/default.pa to automatically switch pulseaudio sink to Bluez:

.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect  # Add this
.endif

Modify/Create /etc/bluetooth/audio.conf to auto select A2DP profile (instead of HSP/HFP):

[General]
Disable=Headset # Add this

Apply changes:

pulseaudio -k # Restarts pulseaudio

# You may need to turn your bluetooth headphones off, then back on

1
Зауваження: коментар "додати це" важливий, оскільки рядок " .ifexists module-bluetooth-discover.so" вже існує. Я спробував спочатку додати цілі чотири рядки, але це не вийшло. Лише додавання одного рядка в потрібному місці працює.
Фабіан Рьолінг

2
на Ubuntu Bionic я встановив, AutoConnect=trueа не відключити = гарнітуру
develCuy

Зауважте, що після версії 11 PulseAudio auto_switch було перетворено на ціле число, тому воно потребує значення, такого як 0, 1, 2, залежно від необхідної функції автоматичного перемикання: freedesktop.org/wiki/Software/PulseAudio/Notes/11.0
mitsos1os

2

Не тільки після перезавантаження, але і після відключення та повторного підключення пристрою, здатного як до профілю HSP, так і до A2DP, Bluez завжди підключає його в режимі HSP (найголовніший).

Я не можу докладно розповісти, що відбувається під кришкою (Bluetooth має досить певні химерності), але я підозрюю, що ми підключаємо новий пристрій як гарнітуру, а не як пристрій аудіо чи AudioSink через dbus.

Здається, немає налаштувань, за допомогою яких ми могли б це контролювати. Я не знаю жодних налаштувань, які ми можемо зробити за замовчуванням пристроєм Bluetooth для A2DP при підключенні (але я не можу виключити, що я десь пропустив частину документації). Це може вважатися помилкою.

На деякий час я написав сценарій, щоб встановити з'єднання Bluetooth за допомогою звукового профілю. Цей скрипт був включений у невеликий додаток GUI Python ( bt- autoconnect на стартовій панелі або через мій ppa: takkat-nebuk / takkat ), який серед інших настроїв робить саме це, але це швидше хак, ніж певне рішення, і, на жаль, це робить не працює з усіма адаптерами навколо, але спочатку підключить мою гарнітуру Philips в режимі A2DP (хоча звукові налаштування все ще стверджують, що це HFP, але це інша проблема).


Дякую за вклад Таккат ... Я думаю, що я з надією, і це буде ручним процесом :(
Логотипи
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.