Alterar volume no alto-falante bluetooth com amixer

2

Atualmente, uso atalhos de teclado personalizados para alterar o volume do meu computador. Os comandos do terminal que uso são:

amixer sset Master 3%+
amixer sset Master 3%-

Isso altera o volume dos níveis "Built-in Audio Analog Stero" na imagem abaixo. No entanto, isso não controla o volume dos meus dispositivos Bluetooth que eu conecto usando o aplicativo blueman. Em pavucontrol > Dispositivos de saída Eu vejo que o dispositivo bluetooth usa a porta do alto-falante, mas isso não funciona:

amixer sset Speaker 3%+
amixer: Invalid command!

Seissoforimportante,ocontroledevolumeMATEmostra:

Comopossoterovolumeprincipalcomoumvolume"global" capaz de alterar o volume do dispositivo bluetooth?

Mais informações de alsamixer:

Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 69 [79%] [-13.50dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 51 [81%] [21.00dB] [off]
  Front Right: Capture 51 [81%] [21.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Speaker Only' 'Line Out+Speaker'
  Item0: 'Line Out+Speaker'
Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 81 [68%] [10.50dB]
  Front Right: Capture 81 [68%] [10.50dB]
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Headset Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Headset Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [30.00dB]
  Front Right: 3 [100%] [30.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [36.00dB]
  Front Right: 3 [100%] [36.00dB]
    
por aless80 28.01.2017 / 13:27

1 resposta

5

Você está executando o Pulseaudio, que usa o ALSA para controlar placas de som, mas que se conecta a alto-falantes Bluetooth sem envolver o ALSA. Quando você define volumes ALSA com amixer , o Pulseaudio percebe e corrige os volumes de origem / depósito (na verdade, usando um algoritmo um pouco complicado, porque os volumes ALSA podem ser canalizados), mas não importa o que você tente, você não conseguirá controlar Alto-falantes Bluetooth assim.

Portanto, basta definir o volume do Pulseaudio diretamente. O comando para fazer isso é

pactl set-sink-volume name_of_bluetooth_speaker +3%

Você pode ver os nomes de todos os seus sumidouros com

pacmd list-sinks | grep name:

Use o nome sem os colchetes angulares. Não há volume "master".

Você também pode usar scripts como este , que detecta ativos afunda e altera o volume neles.

    
por 28.01.2017 / 16:50