我需要在bash脚本中设置系统卷,但我不知道如何执行此操作。
我应该使用alsactl
吗?我可以使用/proc
或/sys
中的某些值吗?
答案 0 :(得分:4)
您应该使用amixer工具。
运行不带参数的amixer
以获取调音台控件列表
使用这样的命令:
amixer set Master 50% # set absolute
amixer set Master 2dB+ # set relative
amixer set Master unmute
答案 1 :(得分: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
没有的计算机。
答案 2 :(得分: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反馈。