У меня есть хороший аудиоприемник bluetooth, подключенный к моей HiFi стереосистеме, и я мог подключить его в 14.04 как A2DP-выход с хорошим качеством.
После обновления до 16.04 устройство подключается только как гарнитура, а при попытке переключить его в режим A2DP, я получаю эту ошибку в syslog:
May 21 11:35:50 RRyS pulseaudio[6159]: [pulseaudio] module-bluez5-device.c: Refused to switch profile to a2dp_sink: Not connected
и качество звука низкое. Как я могу это исправить?
По этому поводу открыто несколько ошибок, проверьте, например, этот (запущен в 15.05) и этот другой, довольно старый ; причины в целом не совсем понятны.
Перед тем, как приступить к изменению системных файлов, вы также можете проверить Нет звука в динамике Bluetooth в Ubuntu 16.04 (кажется, другая ошибка) и Bluetooth A2DP не работает в 16.04 (решено в комментарии по обновлению ядра).
У меня сработало следующее исправление --- спасибо пользователю RobertFM на панели запуска и SimFox3 на форумах Arch . Все следующие инструкции должны выполняться из корневой оболочки ( sudo -i
). Будьте осторожны и тройной контроль.
Прежде всего, сделайте резервную копию этих файлов (как знать):
cp /etc/bluetooth/audio.conf /etc/bluetooth/audio.conf.bak
cp /etc/pulse/default.pa /etc/pulse/default.pa.bak
cp / usr / bin / start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11.bak
Отредактируйте /etc/bluetooth/audio.conf
и сделайте его похожим на этот:
# Файл конфигурации для аудио службы
# Этот раздел содержит параметры, не относящиеся ни к одному
# конкретный интерфейс
[Генеральный]
Включить = шлюз, источник
# Переключиться на главную роль для входящих подключений (по умолчанию true)
Мастер = правда
# Если мы хотим отключить поддержку определенных сервисов
# По умолчанию поддерживаются все реализованные услуги
# Отключить = шлюз, источник, сокет
Отключить = сокет
# Маршрутизация SCO. Либо PCM, либо HCI (в этом случае звук направляется в / из ALSA)
# По умолчанию HCI
# SCORouting = HCI
# Автоматически подключать профили A2DP и HFP / HSP для входящих
# соединений. Некоторые гарнитуры, поддерживающие оба профиля, будут подключать только
# другой автоматически, поэтому значение по умолчанию true обычно является хорошим
# идея.
AutoConnect = true
# Параметры интерфейса гарнитуры (т.е. параметры, которые влияют на то, как
# сервис взаимодействует с удаленными устройствами гарнитуры)
[Гарнитура]
# Установите значение true для поддержки HFP, false означает, что поддерживается только HSP
# По умолчанию true
HFP = истина
# Максимальное количество подключенных устройств HSP / HFP на адаптер. По умолчанию 1
MaxConnected = 2
# Установите значение true, чтобы разрешить использование режима быстрого подключения (более быстрое сканирование страниц)
# для HFP при начале входящего вызова. Настройки по умолчанию восстанавливаются после
# вызов принят или отклонен. Интервал сканирования страницы намного короче, а страница
# тип развертки изменен на чересстрочный. Это позволяет быстрее инициировать соединение
# с помощью гарнитуры.
FastConnectable = true
# Просто пример возможных вариантов конфигурации для других интерфейсов
# [A2DP]
# SBCSources = 1
# MPEG12Sources = 0
Отредактируйте / etc / pulse / default.pa
и закомментируйте строку
# load-module module-bluetooth-discover
(вам действительно нужно только добавить #
в начале)
Отредактируйте / usr / bin / start-pulseaudio-x11
и добавьте строку / usr / bin / pactl load-module module-bluetooth-discover
после загрузки модуля module-x11-xsmp
; на практике вам следует отредактировать файл ближе к концу, чтобы он имел строфу вроде
if [x "$ SESSION_MANAGER"! = x]; тогда
/ usr / bin / pactl load-module module-x11-xsmp "display = $ DISPLAY session_manager = $ SESSION_MANAGER"> / dev / null
# добавьте сюда эту строку:
/ usr / bin / pactl модуль загрузки модуля-bluetooth-обнаружение
фи
Перезагрузка.
Теперь вы можете настроить свое устройство на A2DP и наслаждаться высококачественной музыкой:
Обратите внимание, что иногда вам нужно отключить и повторно подключить устройство, чтобы снова включить A2DP:
.. Да, это масса ошибок. Но когда он работает, он работает прекрасно.
Проблемы после перезагрузки
После всего этого иногда кажется, что уловка срабатывает только после следующей перезагрузки. В таком случае попробуйте следовать ответу rmfought :
Что мне подходит, так это подключить устройство bluetooth, переключиться на Режим HSP / HFP, отключение, повторное подключение и затем переключение в режим A2DP.
... у меня тоже работает (опять же, иногда). Мне даже однажды пришлось отменить сопряжение и повторно подключить ключ.
Если это по-прежнему не работает ...
Если это также не работает для вас, вы можете попробовать этот сценарий --- его автор держит его в актуальном состоянии свидание.
Мне нравится подключать bluetooth-устройство, переключаться в режим HSP/HFP, отключать, переподключать, а затем переключаться в режим A2DP.
Это не обязательно решение для те, кому нужен микрофон, но это работало для меня в Ubuntu 16.04:
sudo nano /etc/bluetooth/audio.conf
А затем добавьте Disable = Headset
в [General]
.
[General]
Disable=Headset
И перезапустите службу bluetooth
sudo service bluetooth restart
И все кредиты этому парню: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/