Atualmente, instalei o ubuntu 16.04 e o a2dp costumava funcionar em uma instalação nova, que eu preferiria deixar como última opção. Quando o emparelhamento é apagado das configurações do bluetooth e emparelhado novamente, às vezes, ele consegue estar no perfil a2dp, mas se o fone de ouvido for desconectado e reconectado, os perfis a2dp não funcionarão mais (embora esteja no a2dp) depois de mudar para HSP / HSF e não consigo configurá-lo no a2dp.
Eu tentei fazer:
pacmd set-card-profile <index> a2dp_sink
mas o seguinte erro aparece:
"Failed to set card profile to 'a2dp_sink'"
Sou bastante inexperiente no Linux, então não sei como obter logs ou o que procurar neles, mas obtive isso nas listas de pacmd:
Quando funciona:
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:
Quando isso não acontecer:
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:
E o módulo proprietário é:
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"
Eu já tentei modificar o /etc/bluetooth/audio.conf e instalar o blueman, mas não funcionou. Eu também tentei reinstalar o bluez e o pulseaudio, mas nada mudou.
Existe alguma maneira de saber o que está errado e corrigi-lo?
Respostas:
Com base na linha "perfil ativo: <off>", o perfil de som não foi ativado.
Um programa fácil de usar para alterar o perfil é o pavucontrol. Você pode instalá-lo com
sudo apt install pavucontrol -y
. Em seguida, execute o pavucontrol na linha de comando ou Alt + F2 se você estiver no Kubuntu e inserindo o pavucontrol.Selecione a guia de configuração e tente alterar o perfil dos fones de ouvido e veja se isso é atualizado para você. Parece haver um bug com o bluetooth a2dp ainda no linux e isso afeta duas das minhas instalações 16.04. Se já indicar A2DP, mude para OFF, desconecte o dispositivo no applet bluetooth e reconecte-o. Finalmente, prossiga para alterar o perfil novamente para A2DP e ele deve funcionar.
Você também pode tentar o seguinte na linha de comando e a guia deve completar a maior parte dele para você. Substitua o número 2 pelo número do índice atualmente nos dois comandos pacmd abaixo.
Para uma maneira mais complicada, mas automatizada, de fazer a mesma coisa para desligar o perfil e depois voltar para a2dp, mas não desconecte e conecte o dispositivo bluetooth
Eu também deveria criar um script funcional, mas desleixado, para fazer a mesma coisa, mas também desconectar e reconectar os fones de ouvido bluetooth. Ele pega o índice do perfil porque o índice muda toda vez que o dispositivo é desconectado e reconectado. Esse código é codificado com a ID do dispositivo para os fones de ouvido listados acima
Durante o teste, terminei com os 5 segundos de suspensão em vez de 3 porque o dispositivo ainda não estava pronto para alterar o perfil de áudio. Seus resultados podem variar em alguns segundos +/- 5 segundos. Edite sobre uma possível armadilha. Descobri que ocasionalmente é necessário executar o script maior duas vezes antes de funcionar. Não tenho certeza se o aumento do tempo de sono ajudaria ou não, pois ainda não testei isso. Mas eu o usei em duas máquinas com a mesma marca de fones de ouvido BT e está fazendo o que deveria para automatizar o processo para obter o som funcionando nos fones de ouvido.
Eventualmente, o problema será corrigido no pacote bluetooth, mas parece continuar retornando em novos lançamentos do Ubuntu, bem como em outras versões do Linux. Mas de qualquer forma espero que ajude para você
fonte
bluetoothctl disconnect aa:bb:cc:dd:ee:ff && bluetoothctl connect aa:bb:cc:dd:ee:ff
antes de clicar com o botão direito do mouse no menu Dispositivos para que eu mude o perfil de áudio para A2DP. Eu também ocasionalmente tenho que matar um processo filho de gerente blueman quando leva muito tempo para abrir o menu de dispositivos.Para permitir que o seu sistema seja detectado como um coletor A2DP (por exemplo, para reproduzir músicas do seu telefone pelos alto-falantes do computador), adicione
Enable=Source,Sink,Media,Socket
abaixo[General]
de/etc/bluetooth/audio.conf
.Depois de fazer isso, reinicie o daemon bluetooth
Conecte seu dispositivo de fone de ouvido
Verifique seu cartão e defina o perfil
fonte
/etc/bluetooth/main.conf
versão recenteEu tive esse problema no Ubuntu 16.04.1 LTS e a aplicação da solução GDM encontrada em https://wiki.debian.org/BluetoothUser/a2dp resolveu o problema.
Especificamente, crie / edite
/var/lib/gdm3/.config/pulse/client.conf
para ler:Então
Eu também adicionei a
/etc/pulse/default.pa
Embora isso possa não ser estritamente necessário.
Após uma reinicialização, conectei-me via bluetooth manager e consegui alternar com êxito o perfil de áudio
a2dp_sink
.fonte
lagerismi postou um script aqui na barra de lançamento com base na resposta de Jamie S.
Mude o endereço MAC do dispositivo na variável dentro do script! (pode ser encontrado em
bluetoothctl
-> Dispositivo)Tornar o script executável
chmod a-x bluetooth_headphone_reactivation.sh
Para execução automática na inicialização (funciona apenas se o fone de ouvido já estiver ligado):
Para execução manual rápida:
O script:
fonte
-e
comecho
.No Xubuntu 16.04.2,
use o blueman-manager:
Meu script bash JBL
fonte
Portanto, se você estiver usando o Debian, poderá fazer o seguinte: Recusou-se a mudar o perfil para a2dp_sink: Não conectado
Problema
O fone de ouvido Bluetooth está conectado, mas o ALSA / PulseAudio falha ao captar o dispositivo conectado ou não há nenhum dispositivo para escolher. Isso acontece porque o GDM captura o coletor A2DP no início da sessão, pois o GDM precisa do pulseaudio na sessão gdm para acessibilidade. Por exemplo, o leitor de tela exige isso.
Solução
Para impedir que o GDM capture o coletor A2DP no início da sessão, edite
/var/lib/gdm3/.config/pulse/client.conf
(ou crie-o, se não existir):Depois disso, você precisa conceder acesso a esse arquivo ao usuário Debian-gdm:
Você também precisará desativar a inicialização do pulseaudio:
Para conectar automaticamente o a2dp em alguns dispositivos, adicione isto a
/etc/pulse/default.pa
:Reinicie.
fonte
Tenho certeza de que as respostas anteriores realmente tentam resolver a causa raiz do problema. Eu, no entanto, não consegui fazer nenhum deles funcionar. Eu tive exatamente o mesmo problema que o OP, mas no Linux Mint 17/18. Eu escrevi este script para conectar o Bluetooth de maneira confiável e usando o a2dp.
Copie / cole para posteridade, mas o problema é que ele replica exatamente o que o OP (e eu) teria que fazer na interface do usuário.
O script de Dominik não funcionaria de maneira confiável para mim, porque tentaria apenas uma vez configurar tudo. Eu teria que executá-lo várias vezes para fazê-lo funcionar. Foi com isso que acabei, que funciona sempre.
fonte
Conforme documentado aqui , é porque o GDM captura o coletor A2DP no início da sessão, pois o GDM precisa do pulseaudio na sessão gdm para acessibilidade.
Tente adicionar isso a "/var/lib/gdm3/.config/pulse/default.pa" ou crie-o e reinicie:
fonte
Eu estava tentando configurar meu Bluetooth e sempre recebia esse erro.
Eu descobri que o problema era o Skype. Se eu tiver o Skype em execução, não consigo definir o
a2dp_sink
perfil.Portanto, se você se deparar com esse problema, veja se possui o Skype em execução e desative-o.
fonte
fonte
Eu escolhi para resolvê-lo com uma regra udev, como eu sou o único usuário do sistema, por isso
$USER
,$XAUTHORITY
e$DISPLAY
são bem conhecidos.Talvez isso seja útil para quem deseja uma solução definida em um único arquivo, executando o Ubuntu 18.04.1 LTS.
O gancho é acionado através do
input
subsistema porque o alto-falante parece estar totalmente inicializado nesse estágio.O Archlinux Wiki menciona os dispositivos Cambridge Silicon Radio que fornecem o perfil errado no connect ( https://wiki.archlinux.org/index.php/Bluetooth_headset#A2DP_sink_profile_is_unavailable ). Posso reconhecer esse comportamento com um alto-falante bluetooth "JBL GO 2", comportando-se como já mencionado. o a2dp parece estar disponível pouco tempo após a conexão - talvez um problema de tempo?
fonte
Isso corrigiu um problema no perfil do conjunto de placas para mim: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1181106/comments/15
Citar:
fonte