В настоящее время я установил Ubuntu 16.04 и a2dp для новой установки, которую я предпочел бы оставить как последний вариант. Когда спаривание стирается из настроек Bluetooth и снова устанавливается в пару, иногда удается установить профиль a2dp, но если гарнитура отключена, а затем повторно подключена, профили a2dp больше не работают (хотя и говорят, что на a2dp), это работает только после переключения на HSP / HSF, а затем я не могу установить его на a2dp.
Я пытался сделать:
pacmd set-card-profile <index> a2dp_sink
но появляется следующая ошибка:
"Failed to set card profile to 'a2dp_sink'"
Я довольно неопытен в Linux, поэтому я не знаю, как получить логи или что искать в них, но я получил это из списка карт pacmd:
Когда это работает:
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:
Когда это не так:
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:
И владеющий модуль это:
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"
Я уже пытался изменить /etc/bluetooth/audio.conf и установить blueman, но это не сработало. Я также попытался переустановить bluez и pulseaudio, но ничего не изменилось.
Могу ли я узнать, что не так, и исправить это?
Ответы:
На основании строки «активный профиль: <выкл>» звуковой профиль не активирован.
Простая в использовании программа для изменения профиля - это pavucontrol. Вы можете установить его с помощью
sudo apt install pavucontrol -y
. Затем запустите pavucontrol из командной строки или Alt + F2, если вы находитесь на Kubuntu и вводите pavucontrol.Выберите вкладку конфигурации, а затем попробуйте изменить профиль наушников и посмотреть, обновится ли он для вас. Кажется, есть ошибка с Bluetooth a2dp все еще в Linux, и это влияет на две из моих установок 16.04. Если он уже говорит A2DP, измените его на OFF, отключите устройство в апплете bluetooth, затем подключите его снова. Затем, наконец, перейдите, чтобы изменить профиль обратно на A2DP, и он должен работать.
Вы также можете попробовать следующую команду в командной строке, и она должна завершить большинство из них за вас. Замените число 2 на порядковый номер для обеих команд pacmd ниже.
Для более сложного, но автоматизированного способа сделать то же самое для выключения, а затем возврата к a2dp профиля, но без отключения устройства Bluetooth и подключения к нему.
Я также должен был сделать работающий, но небрежный скрипт, чтобы сделать то же самое, но также отсоединить и снова подключить наушники Bluetooth. Он захватывает индекс профиля, потому что индекс меняется каждый раз, когда устройство отключается и снова подключается. Это жестко связано с идентификатором устройства для гарнитуры, которую вы перечислили выше
Во время тестирования у меня было 5 секунд для сна вместо 3, потому что устройство еще не было готово для изменения профиля звука. Ваши результаты могут отличаться на несколько секунд +/- 5 секунд. Редактировать относительно потенциальной ловушки. Я обнаружил, что иногда необходимо дважды запустить скрипт побольше, прежде чем он заработает. Я не уверен, поможет ли увеличение времени сна, потому что я не проверял это. Но я использовал его на двух устройствах с наушниками BT той же марки, и он делает то, что должен, для автоматизации процесса, чтобы звук работал в наушниках.
В конце концов проблема будет исправлена в пакете bluetooth, но, похоже, она будет возвращаться в новых версиях Ubuntu, а также в других версиях Linux. Но в любом случае надеюсь, что это поможет вам
источник
bluetoothctl disconnect aa:bb:cc:dd:ee:ff && bluetoothctl connect aa:bb:cc:dd:ee:ff
тем, как щелкнуть правой кнопкой мыши в меню «Устройства», позволит мне переключить аудио профиль на A2DP. Мне также иногда приходится убивать дочерний процесс blueman-manager, когда для вызова меню устройств требуется слишком много времени.Для того чтобы система могла быть обнаружена как A2DP раковине (например , для воспроизведения музыки с телефона через динамики компьютера), добавить
Enable=Source,Sink,Media,Socket
под[General]
в/etc/bluetooth/audio.conf
.После этого перезапустите демон Bluetooth
Подключите устройство для наушников
Проверьте свою карту и установите профиль
источник
/etc/bluetooth/main.conf
для последней версииУ меня была эта проблема в Ubuntu 16.04.1 LTS, и применение решения GDM, найденного в https://wiki.debian.org/BluetoothUser/a2dp, решило ее.
В частности, создать / изменить,
/var/lib/gdm3/.config/pulse/client.conf
чтобы читать:затем
Я также добавил в
/etc/pulse/default.pa
Хотя это не может быть строго необходимо.
После перезагрузки я подключился через bluetooth manager и смог успешно переключить аудио профиль на
a2dp_sink
.источник
lagerismi разместил скрипт на панели запуска, основываясь на ответе Джейми С.
Измените MAC-адрес устройства в переменной внутри скрипта! (можно найти с помощью
bluetoothctl
-> Устройство)Сделайте скрипт исполняемым
chmod a-x bluetooth_headphone_reactivation.sh
Для автоматического выполнения при запуске (работает, только если гарнитура уже включена):
Для быстрого ручного исполнения:
Сценарий:
источник
-e
сecho
.На Xubuntu 16.04.2
используйте blueman-manager:
Мой скрипт на JBL
источник
Итак, если вы используете Debian, вы можете сделать следующее: Отказался от переключения профиля на a2dp_sink: не подключен
проблема
Bluetooth-гарнитура подключена, но ALSA / PulseAudio не может подключиться к подключенному устройству или нет устройства для выбора. Это происходит из-за того, что GDM захватывает приемник A2DP при запуске сеанса, так как для доступа GDM требуется Pulsedio в сеансе GDM. Например, для чтения с экрана это требуется.
Решение
Чтобы запретить GDM захватывать приемник A2DP при запуске сеанса, отредактируйте
/var/lib/gdm3/.config/pulse/client.conf
(или создайте его, если он не существует):После этого вы должны предоставить доступ к этому файлу пользователю Debian-gdm:
Вам также нужно будет отключить запуск pulseaudio:
Для автоматического подключения a2dp для некоторых устройств добавьте это в
/etc/pulse/default.pa
:Перезагружать.
источник
Я уверен, что предыдущие ответы на самом деле пытаются устранить коренную причину проблемы. Я, однако, не смог заставить никого из них работать. У меня была та же проблема, что и у OP, но на Linux Mint 17/18. Я написал этот скрипт, чтобы надежно подключить Bluetooth и использовать a2dp.
Скопируйте / вставьте для потомков, но главная проблема в том, что он точно повторяет то, что OP (и я) должны были бы сделать в пользовательском интерфейсе.
Сценарий Доминика не будет надежно работать для меня, потому что он попытается все настроить один раз . Мне пришлось бы запустить его несколько раз, чтобы заставить его работать. Это то, что я закончил, это работает каждый раз.
источник
Как описано здесь , это происходит потому, что GDM захватывает приемник A2DP при запуске сеанса, так как для доступа GDM требуется PulseAdio в сеансе GDM.
Попробуйте добавить это в «/var/lib/gdm3/.config/pulse/default.pa» или создайте его, затем перезагрузите компьютер:
источник
Я пытался настроить свой Bluetooth и всегда получал эту ошибку.
Я обнаружил, что проблема была в Skype. Если у меня работает Skype, я не могу установить
a2dp_sink
профиль.Итак, если вы столкнулись с этой проблемой, посмотрите, работает ли у вас Skype и выключите его.
источник
источник
Я решил решить с помощью правила udev, так как я единственный пользователь системы, поэтому
$USER
,$XAUTHORITY
и$DISPLAY
хорошо известны.Возможно, это полезно для тех, кому нужно решение, определенное в одном файле и работающее на Ubuntu 18.04.1 LTS.
Хук запускается через
input
подсистему, потому что на этом этапе динамик, кажется, полностью инициализирован.В Archlinux Wiki упоминаются устройства Cambridge Silicon Radio, предоставляющие неправильный профиль при подключении ( https://wiki.archlinux.org/index.php/Bluetooth_headset#A2DP_sink_profile_is_unavailable ). Я могу подтвердить это с помощью Bluetooth-динамика «JBL GO 2», который ведет себя неправильно, как уже упоминалось. Кажется, a2dp доступен через некоторое время после подключения - возможно, проблема с синхронизацией?
источник
Это исправило проблему с профилем набора карт: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1181106/comments/15
Quote:
источник