Command to unmute and maximize volume?
I need to mute/unmute from the command line. I found out that I can do it with:
amixer sset Master mute
amixer sset Master unmute
the problem is that the command for unmute is not working (as described also in this bug report: https://bugs.launchpad.net/ubuntu/+source/alsa-utils/+bug/878986)
My question is: is there another way to obtain the same result, taken that amixer is not working?
Furthermore, if I set manually the volume to minimum and then call
amixer sset Master 100%
the volume increases but doesn't switch to maximum, even if the stdout tells:
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 31 [100%] [0.00dB] [on]
Front Right: Playback 31 [100%] [0.00dB] [on]
Can anybody help me with this?
Solution 1:
Even better is this one, unmute all audio devices. and set volume to 70%
for x in `amixer controls | grep layback` ; do amixer cset "${x}" on ; done
for x in `amixer controls | grep layback` ; do amixer cset "${x}" 70% ; done
in the example above the HDMI and optical isn't unmutted..
Solution 2:
Try the following commands in a terminal
amixer -c 0 set Master playback 0% mute
amixer -c 0 set Master playback 100% unmute
This should ensure all outputs are controlled. It's likely with your posted commands the reason the volume is not 100% is that the amixer does not release all outputs eg headphones or any other sound outputs at the same time.
Solution 3:
Get all sounds sources, get their names, form a command line with amixer and execute it
amixer scontrols | grep -oE "'.*'" | awk -F\' \
'{print "amixer -c 0 set \""$2"\" unmute 100"}' | sh
Unmutes all audio devices and sets their volume to max.
Have a great one, Mike
Solution 4:
Mark Rooney's solution did not work for me, but I was able to work around this by explicitly unmuting all of the channels.
#!/bin/bash
for i in Master Headphone PCM Front Surround Center LFE Side; do
amixer -c 0 set "$i" playback unmute
done &>/dev/null
I got the channel names but running alsamixer
.