giu*_*pen 9 sound command-line alsa
我需要从命令行静音/取消静音。我发现我可以做到:
amixer sset Master mute
amixer sset Master unmute
Run Code Online (Sandbox Code Playgroud)
问题是取消静音的命令不起作用(如本错误报告中所述:https : //bugs.launchpad.net/ubuntu/+source/alsa-utils/+bug/878986)
我的问题是:如果混合器不工作,是否有另一种方法可以获得相同的结果?
此外,如果我手动将音量设置为最小然后调用
amixer sset Master 100%
Run Code Online (Sandbox Code Playgroud)
音量增加但不会切换到最大,即使标准输出告诉:
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]
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
小智 16
更好的是这个,取消所有音频设备的静音。并将音量设置为 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
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,HDMI 和光纤没有取消静音..
在终端中尝试以下命令
amixer -c 0 set Master playback 0% mute
amixer -c 0 set Master playback 100% unmute
Run Code Online (Sandbox Code Playgroud)
这应确保所有输出都受到控制。您发布的命令可能导致音量不是 100% 的原因是混音器不会同时释放所有输出,例如耳机或任何其他声音输出。
小智 5
获取所有声音源,获取它们的名称,用 amixer 形成一个命令行并执行它
amixer scontrols | grep -oE "'.*'" | awk -F\' \
'{print "amixer -c 0 set \""$2"\" unmute 100"}' | sh
Run Code Online (Sandbox Code Playgroud)
取消所有音频设备的静音并将其音量设置为最大。
祝你好运,迈克