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 a2dpe 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 profilesseção. Nesta seção, vemos três perfis, que são a2dp_sink, headset_head_unite off. Os dois perfis que precisamos devem ter neles (A2DP Sink) e (HSP / HFP). Nesse caso, eles são a2dp_sinkpara o perfil a2dp e headsethead_unitpara o perfil hsp. Observe que isso é diferente do pôster original a2dpe 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 a2dpe hspcom 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-xem seguida, ypara 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.