Estoy tratando de controlar el volumen usando mi script de programación. ¿Cómo puedo hacer lo siguiente en Fedora 15, Ubuntu Linux?
- Mute / Unmute
- 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.
linux
command-line
audio
alsa
Yum Yum Yum
fuente
fuente
<command>amixer -D pulse sset Master 3%+ unmute</command>
en el keybind relevante de~/.config/openbox/lubuntu-rc.xml
y ejecutandoopenbox --reconfigure
fijado para míRespuestas:
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 elset
comando para configurar el volumen. Por ejemplo, para configurar el canal maestro al 50%:Master
es el nombre del control y debe coincidir con el que ve cuando se ejecuta sin parámetros.Tenga en cuenta el
%
signo, sin él tratará el valor como 0 - 65536 nivel.Si PulseAudio no es su dispositivo predeterminado, puede usar el
-D
interruptor:Otros comandos útiles señalados en los comentarios:
Para aumentar / disminuir el volumen, use
+/-
después del número, usePara silenciar, activar o desactivar el estado silenciado / sin silenciar, use
También tenga en cuenta que puede haber dos escalas de porcentaje diferentes, la sin formato predeterminada y para algunos dispositivos una escala más natural basada en decibelios , que también es utilizada por
alsamixer
. Use-M
para usar el último.Finalmente, si solo está interesado en PulseAudio, puede consultarlo
pactl
(consulte una de las otras respuestas).fuente
amixer set Master 10%+
yamixer set Master 10%-
M
en cuenta que in master distingue entre mayúsculas y minúsculas (debe estar en mayúsculas).amixer -D pulse sset Master 50%
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%-
fuente
amixer -D pulse sset Master unmute 5%+
pactl / pacmd (a diferencia
amixer
) permite aumentar el volumen por encima del 100% :-).Es posible realizar ajustes manuales superiores al 100%
pavucontrol
(a diferencia dealsamixer
).NOTA: Si desea compartir los mismos comandos en diferentes hosts con diferentes sumideros, puede usarlos
@DEFAULT_SINK@
como sumidero en lugar de número0
:Configura su sumidero predeterminado con
pactl set-default-sink my-sink-name
(enumere los nombres conpactl list short sinks
).ACTUALIZACIÓN: agregado
toggle mute
(gracias a Don Joe).Fuente: askubuntu.com , wiki.archlinux.org .
fuente
Mayor volumen:
Volumen inferior:
Alternar silencio:
Ejemplo de combinaciones de teclas para
i3
/sway
, los comandos están después deexec
:fuente
Si el usuario ha silenciado el dispositivo, debe 'activarlo'. de lo contrario, establecer el porcentaje funcionará pero el sonido aún está apagado
fuente
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, por ejemplo, "- -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 @DEFAULT_SINK@ 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.
fuente
xbindkeys-config
y ni siquiera tengo que reiniciar X :) (jajaja, la sonrisa ... sin juego de palabras jajaja)amixer funcionó para mí, pero no obtuve la buena animación 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'
Mudo:
xte 'key 0x1008ff12'
Descubrí el keyym (ese número hexadecimal) usando
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í:
fuente