desarrollo-web-br-bd.com

¿Cómo usar la línea de comando para cambiar el volumen?

Estoy tratando de controlar el volumen usando mi script de programación. ¿Cómo puedo hacer lo siguiente en Fedora 15, Ubuntu Linux?

  1. Mute/Unmute
  2. Subir volumen y bajar volumen

Nota: Tenga en cuenta que uso un micrófono/altavoz USB web y también un micrófono/altavoz analógico. Quiero aplicar a todos para estar seguro.

78
user11085

Puedes usar amixer . Está en el alsa-utils paquete en Ubuntu y Debian.

Ejecute amixer sin parámetros para obtener una descripción general de sus controles para el dispositivo predeterminado.

También puede usar alsamixer sin parámetros (del mismo paquete) para obtener una visión más visual. Use F6 para ver y cambiar entre dispositivos. Por lo general, es posible que tenga PulseAudio y una tarjeta de sonido de hardware para seleccionar.

Luego use amixer con el comando set para configurar el volumen. Por ejemplo, para configurar el canal maestro al 50%:

amixer set Master 50%

Master es el nombre del control y debe coincidir con el que ve cuando se ejecuta sin parámetros.

Nota la % signo, sin él tratará el valor como 0 - 65536 nivel.

Si PulseAudio no es su dispositivo predeterminado, puede usar el -D interruptor:

amixer -D Pulse set Master 50%

Otros comandos útiles señalados en los comentarios:

Para aumentar/disminuir el volumen use +/- después del número, use

amixer set Master 10%+
amixer set Master 10%-

Para silenciar, activar o desactivar el estado silenciado/no silenciado, use

amixer set Master mute
amixer set Master unmute
amixer set Master toggle

También tenga en cuenta que puede haber dos escalas de porcentaje diferentes, la sin formato predeterminada y para algunos dispositivos un escala más natural basada en decibelios , que también es utilizada por alsamixer. Utilizar -M para usar este último.

Finalmente, si solo está interesado en PulseAudio, puede consultar pactl (vea una de las otras respuestas).

88
Dario Seidl

Silenciar:

amixer -D Pulse sset Master mute

Para activar el silencio:

amixer -D Pulse sset Master unmute

Para subir el volumen un 5%:

amixer -D Pulse sset Master 5%+

Para bajar el volumen un 5%:

amixer -D Pulse sset Master 5%-
33
Eric Terry

pactl / pacmd (a diferencia de amixer) permite aumentar el volumen por encima del 100% :-).

pactl set-sink-mute 0 toggle  # toggle mute, also you have true/false
pactl set-sink-volume 0 0     # mute (force)
pactl set-sink-volume 0 100%  # max
pactl set-sink-volume 0 +5%   # +5% (up)
pactl set-sink-volume 0 -5%   # -5% (down)

La configuración manual superior al 100% es posible en pavucontrol (a diferencia de alsamixer).

Nota : Si desea compartir los mismos comandos en diferentes hosts con diferentes sumideros, puede usar @[email protected] como sumidero en lugar de número 0:

pactl set-sink-volume @[email protected] +5%

Configura su sumidero predeterminado con pactl set-default-sink my-sink-name (enumere los nombres con pactl list short sinks).

Fuente : askubuntu.com , wiki.archlinux.org .

18
pevik

Mayor volumen:

amixer set Master 3%+

Volumen inferior:

amixer set Master 3%-

Alternar silencio:

amixer set Master toggle

Ejemplo de combinaciones de teclas para i3 / sway , los comandos están después de exec:

bindsym XF86AudioRaiseVolume exec amixer set Master 3%+
bindsym XF86AudioLowerVolume exec amixer set Master 3%-
bindsym XF86AudioMute exec amixer set Master toggle
bindsym Ctrl+$alt+Up  exec amixer set Master 3%+
bindsym Ctrl+$alt+Down exec amixer set Master 3%-
5
Alexander

La respuesta de pevik es casi correcta para PulseAudio, con dos cosas que mencionar:

  • el comando de cambio de volumen negativo generará un error porque la parte de algo negativo se interpretará como una opción separada (no reconocida); debe desactivar el análisis de opciones con un doble menos en algún lugar antes del número negativo, p. "- -5%"

  • el verdadero estado de silencio es algo que debería ser posible alternar con la misma tecla, lo que no funcionará si solo está configurando el volumen a un valor fijo de 0, por lo que el comando correcto para eso sería:

pactl set-sink-mute @[email protected] toggle

LE: Si la primera pista es aplicable puede depender de la versión de PulseAudio que esté ejecutando o de otra cosa en la distribución. Noto que en Ubuntu 16 funciona sin "-" y falla si agrego "-" frente al porcentaje negativo.

3
Don Joe

si el usuario ha silenciado el dispositivo, debe 'activarlo'. de lo contrario, establecer el porcentaje funcionará pero el sonido aún está apagado

amixer set 'Master' 100% unmute
/usr/bin/amixer set 'PCM' 100% unmute
3
Guest

amixer funcionó para mí, pero no obtuve la animación Nice que obtengo cuando presiono el botón para subir el volumen de mi teclado.

Decidí usar xte para presionar directamente esa tecla desde la línea de comando:

Sube el volumen: xte 'key 0x1008ff13'

Bajar volumen: xte 'key 0x1008ff11'

Silencio: xte 'key 0x1008ff12'

Descubrí el keyym (ese número hexadecimal) usando xev.

Sudo apt-get install xbindkeys xautomation
xev

y luego presione el botón de subir volumen en su teclado para obtener el teclado. El símbolo clave puede variar de un sistema a otro, por lo que encontrarlo en xev será la forma más confiable.

El resultado se ve así para mí:

Evento KeyRelease, serie 37, NO sintético, ventana 0x2c00001, raíz 0xef, subw 0x0, hora 6660080, (566,573), raíz: (664,651), estado 0x0, código clave 123 (keyym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, XLookupString da 0 bytes : XFilterEvent devuelve: False

2
Sami Start