A resposta superior aqui funciona, mas não para todos os dispositivos de áudio bluetooth. Alguns dispositivos têm nomes de perfil diferentes dos que o pôster possui com os alto-falantes bluetooth. Por exemplo, no código a seguir, que foi originalmente publicado por essa pessoa, aparentemente possui perfis nomeados a2dp
e hsp
. Nenhum deles está disponível nos meus tons LG, por exemplo, mas estão em outros dispositivos, como meu fone de ouvido Sony.
#!/bin/bash
BLUEZCARD=`pactl list cards short | egrep -o bluez.*[[:space:]]`
pactl set-card-profile $BLUEZCARD a2dp
pactl set-card-profile $BLUEZCARD hsp
pactl set-card-profile $BLUEZCARD a2dp
Esse código funcionará para a maioria dos dispositivos bluetooth, mas para fazê-lo funcionar corretamente nos dispositivos que não possuem o perfil a2dp ou o perfil hsp, digite:
pactl list | grep -Pzo '.*bluez_card(.*\n)*'
Isso retornará tudo depois de onde encontrar um dispositivo bluetooth. Por exemplo, com o fone de ouvido LG Tone Ultra, recebo o seguinte:
Name: bluez_card.B8_AD_3E_**_**_**
Driver: module-bluez5-device.c
Owner Module: 36
Properties:
device.description = "LG HBS810"
device.string = "B8:AD:3E:**:**:**"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_B8_AD_3E_**_**_**"
bluez.class = "0x240404"
bluez.alias = "LG HBS810"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
Profiles:
a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 10, available: yes)
headset_head_unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 20, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: a2dp_sink
Ports:
headset-output: Headset (priority: 0, latency offset: 0 usec)
Part of profile(s): a2dp_sink, headset_head_unit
headset-input: Headset (priority: 0, latency offset: 0 usec)
Part of profile(s): headset_head_unit
Estamos interessados na profiles
seção. Nesta seção, vemos três perfis, que são a2dp_sink
, headset_head_unit
e off
. Os dois perfis que precisamos devem ter neles (A2DP Sink) e (HSP / HFP). Nesse caso, eles são a2dp_sink
para o perfil a2dp e headsethead_unit
para o perfil hsp. Observe que isso é diferente do pôster original a2dp
e hsp
.
Agora, com o código acima, vamos modificá-lo e colocá-lo em um arquivo. Eu liguei para o arquivo bluezswitch.sh
.
Mude para o diretório em que deseja colocar o arquivo. Pode estar em qualquer lugar.
touch bluezswitch.sh
Então
nano bluezswitch.sh
Copiar e colar o código no topo deste comentário e substituir o a2dp
e hsp
com os valores que você tem quando você executou o comando acima, e colá-lo no arquivo. Por exemplo, é assim que meu arquivo se parece com os meus LG Tones.
#!/bin/bash
BLUEZCARD=`pactl list cards short | egrep -o bluez.*[[:space:]]`
pactl set-card-profile $BLUEZCARD a2dp_sink
pactl set-card-profile $BLUEZCARD headset_head_unit
pactl set-card-profile $BLUEZCARD a2dp_sink
Agora, ctrl-x
em seguida, y
para salvar o nano arquivo e saia, e, em seguida, tornar o arquivo executável:
chmod +x bluezswitch.sh
Em seguida, prossiga configurando um atalho de teclado, conforme explicado.
Vá para Configurações ... Teclado ... Atalhos e crie um atalho personalizado; nomeie como quiser, com o comando como /home/brillout/bluezswitch.sh (substitua o nome de usuário apropriado no caminho!). Clique em Aplicar e clique à direita, onde diz Desativado, para configurar um atalho de teclado para executar o script.
Isso deve ser tudo o que existe. Isso deve funcionar para todos aqueles para os quais não funcionava antes.
mplayer
, você faz isso pressionando as teclas+
e-
. No VLC, não sei como definir o atraso, mas ficaria surpreso se o VLC não tiver essa opção.