3

我需要在 bash 脚本中设置系统卷,但我不知道该怎么做。我应该使用alsactl吗?是否有一些值/proc/sys我可以使用的值?

4

3 回答 3

4

您应该使用amixer工具。

不带参数运行amixer以获取混音器控件列表。
使用如下命令:

amixer set Master 50%     # set absolute
amixer set Master 2dB+    # set relative
amixer set Master unmute
于 2013-10-04T07:03:19.733 回答
2

您也可以使用pactl.

pactl set-sink-volume 0 60%  # set absolute
pactl set-sink-volume 0 +10% # set relative
pactl set-sink-mute 0 0      # unmute

特别是,pactl set-sink-mute 0 0取消静音命令适用于我的计算机,而我的计算机amixer set Master unmute却没有。

于 2014-10-14T20:15:43.617 回答
0

我的 ~/bin 中有一个不错的 vol 脚本来帮助我解决问题...

#!/bin/sh

export XDIALOG_NO_GMSGS=1

case ${1} in
    +|-) VOL=( $(amixer set Master 10dB${1} |tail -1|tr -d "[]") )
        Xdialog --no-buttons --title "Vol" --infobox ${VOL[3]} 50x30+32+32 ;;
    *[0-9]) VOL=( $(amixer set Master "${1}%" |tail -1|tr -d "[]") )
        Xdialog --no-buttons --title "Vol" --infobox ${VOL[3]} 50x30+32+32 ;;
    *) printf "Usage: vol [+]|[-]|[0-100]\n" >&2 ;;
esac

如果你没有安装 Xdialog,一个简单的 echo ${VOL[3]} 会给你一些 alsamixer 反馈。

于 2019-03-29T09:37:08.843 回答