如何从命令行静音?

如何从命令行静音?

如何从命令行使声音系统静音?

答案1

假设您正在使用 ALSA 驱动程序,请运行:

amixer set Master mute   
amixer set Master unmute

或者,您也可以使用:

amixer set Master toggle

打开或关闭静音。

答案2

当其他人没有用时,这对我有用:

amixer -q -D pulse sset Master toggle

这是来自链接对 natty 的评论很着迷对于第一个答案:

答案3

我在用着pactl在我的脚本中。从手册页

set-sink-mute SINK 1|0|toggle:设置指定接收器(通过其符号名称或数字索引标识)的静音状态

静音:

pactl set-sink-mute @DEFAULT_SINK@ true

取消静音:

pactl set-sink-mute @DEFAULT_SINK@ false

切换:

pactl set-sink-mute @DEFAULT_SINK@ toggle

使用0而不是@DEFAULT_SINK@设置数字索引0的接收器。true=="1", false=="0"。

在 Ubuntu 12.10 上测试。
在我的设置中,amixer unmute 有时会因某种原因失败。

答案4

如果您使用alsa遵循 goric 答案。

PulseAudio 更好一些,但不那么简单:pactl set-sink-mute 0 1它为第一个设备工作,但如果您使用另一个接收器输出的耳机则不行。

更好的方法是检查pactl info并使用Default Sink

DEFAULT_SINK=$(pactl info | grep "Default Sink" | cut -d " " -f3)

然后静音:

pactl set-sink-mute "$DEFAULT_SINK" "1"

或取消静音:

pactl set-sink-mute "$DEFAULT_SINK" "0"

我写了一个脚本来管理笔记中的 pulseaudio。如果要使用,请将其另存为volume,提供执行权限chmod +x volume并将其添加到您的路径中ln -sv $PWD/volume /usr/local/bin/。这是我的脚本:

#!/bin/bash
# script name: volume
# Author: glaudistong at gmail.com
# depends on: yad, coreutils, pulseaudio

ps -ef | grep "yad" | grep -E "Volume [^+\-]" | tr -s " " | cut -d " " -f2 | xargs -i kill "{}" 2>/dev/null
DEFAULT_SINK=$(pactl info | grep "Default Sink" | cut -d " " -f3)
DEFAULT_SOURCE=$(pactl info | grep "Default Source" | cut -d " " -f3)
case "$1" in 
    init)
    {
        ps -fe | grep yad | grep -q volume ||
        {
         yad --notification --command "volume up" --text "+ Volume +" --image ~/Pictures/volume-up-dark.png &
         yad --notification --command "volume down" --text "- Volume -" --image ~/Pictures/volume-down-dark.png &
        }
    };;
    up)
    {
        pactl set-sink-volume "$DEFAULT_SINK" +5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        iconl="$(echo -ne "\U1F50A")"
        iconr="$(echo -ne "\U1F56A")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$iconl Volume $P% $iconr" --no-focus --center --skip-taskbar --on-top &
    };;
    down)
    {
        pactl set-sink-volume "$DEFAULT_SINK" -5%
        P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
        iconl="$(echo -ne "\U1F509")"
        iconr="$(echo -ne "\U1F569")"
        timeout .6 yad --progress --percentage "$P" --timeout 1 --no-buttons --undecorated --text="$iconl Volume $P% $iconr" --no-focus --center --skip-taskbar --on-top &
    };;
    mute)
    {
        ismute=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Mute" | grep "Name:" -A1 | tail -1 |cut -d: -f2| tr -d " ")
        if [ "$ismute" == no ]; then
            s=1
            P=0
            icon="$(echo -ne "\U1F507")"
        else
            P=$(pactl list | grep -E "Name: $DEFAULT_SINK$|Volume" | grep "Name:" -A1 | tail -1 | cut -d% -f1 | cut -d/ -f2 | tr -d " ")
            icon="

相关内容