Answers:
运行以下命令:
amixer -D pulse set Master 1+ unmute
amixer -D pulse set Master 1+ toggle
不过要简单得多。
amixer -D pulse set Master Playback Switch toggle
将其设置为“静音\取消静音”的热键。音量控制可以保持原样。
薄荷15伴侣-我自己弄清楚,对我来说效果很好。
amixer -D pulse set Master toggle
会做。Amixer期望set或sset命令使用一个简单的混音器控件名称,即使它接受了完整的混音器控件名称,您也必须引用这种多字名称。您可以playback
在命令中使用可选修饰符,如下所示:amixer -D pulse set Master playback toggle
,但是,如果Master
它也没有捕获功能,则没有必要。如果系统具有环绕声功能,则通过使用可选的修饰符,您还可以控制命令适用于哪些声道。
我在Linux Mint Debian Edition(201204)上运行MATE桌面时遇到了同样的问题。
“提高音量”操作无法取消静音。我意识到问题出在Pulseaudio上,但该软件包mate-media-gstreamer
及其mate-settings-daemon-gstreamer
默认安装位置。通过安装mate-media-pulse
和mate-settings-daemon-pulse
(即已卸载的mate-media-gstreamer
和mate-settings-daemon-gstreamer
)和tadam ...“提高音量”操作能够再次取消静音!
希望这对您也有用!
amixer -D pulse set Master xxx
只是一枪,或者需要手动映射到快捷方式。这里提出的解决方案看起来像它的原意。
脉冲音频存在问题,用于alsa或混音器的命令将无法正确发送未静音的脉冲。当alsa命令发送静音信号时,它是一个切换命令(发送相同命令以静音/取消静音)。
现在,在pulseaudio中,它们具有单独的静音和取消静音代码!许多人报告说,卸载pulseaudio可以解决问题,但是对于某些人来说,这实际上不是一个可以接受的答案(像我一样,因为pulse对许多应用程序都有用)。
因此,要解决此问题,我们需要编写一个脚本,
1-在文本编辑器(如gedit或鼠标垫)中制作一个新的空文档,
2-将此代码粘贴到文档中,代码来源:2
#!/bin/bash
#### Create ~/.pulse/mute if not exists
ls ~/.pulse/mute &> /dev/null
if [[ $? != 0 ]]
then
echo "false" > ~/.pulse/mute
fi
####Create ~/.pulse/volume if not exists
ls ~/.pulse/volume &> /dev/null
if [[ $? != 0 ]]
then
echo "65536" > ~/.pulse/volume
fi
CURVOL=`cat ~/.pulse/volume` #Reads in the current volume
MUTE=`cat ~/.pulse/mute` #Reads mute state
if [[ $1 == "increase" ]]
then
CURVOL=$(($CURVOL + 3277)) #3277 is 5% of the total volume, you can change this to suit your needs.
if [[ $CURVOL -ge 65536 ]]
then
CURVOL=65536
fi
elif [[ $1 == "decrease" ]]
then
CURVOL=$(($CURVOL - 3277))
if [[ $CURVOL -le 0 ]]
then
CURVOL=0
fi
elif [[ $1 == "mute" ]]
then
if [[ $MUTE == "false" ]]
then
pactl set-sink-mute 0 1
echo "true" > ~/.pulse/mute
exit
else
pactl set-sink-mute 0 0
echo "false" > ~/.pulse/mute
exit
fi
fi
pactl set-sink-volume 0 $CURVOL
echo $CURVOL > ~/.pulse/volume # Write the new volume to disk to be read the next time the script is run.
3-将文件命名为“ volume”(无需扩展名),将其放在您可以找到的位置,并且不会像主文件夹一样将其删除
4-右键单击文件,将其设置为可执行文件,依次单击“属性”,“权限”选项卡,然后使用复选框将其标记为可执行文件,这将允许脚本运行。将文件标记为可执行GUI
5-接下来,我们需要将命令链接到键盘,代码的命令为增加,减少和静音。
因此,请转到键盘设置- 如何在键盘快捷方式区域中更改键盘上的快捷方式,单击添加,然后打开,打开我们创建的“卷”文件,然后添加命令音量,读取音量增加或音量静音后的代码。但是带有代码文件之前的位置,例如“ / home / username / volume Mutet”
然后通过按键盘上的键将其分配给键盘,或者如果已经使用了该键,则
很可能是找到它们并替换命令。
快捷键可能称为XF86AudioRaiseVolume,XF86AudioLowerVolume,XF86AudioMute。由于只有静音被打破,因此您将首先集中精力进行更改。
错误:1
XF86AudioMute
映射到命令amixer set Master toggle
。升高和降低vol键的映射方式与amixer
命令相似。
pactl set-sink-volume 0 +5%
,pactl set-sink-volume 0 -5%
和等命令pactl set-sink-mute 0 toggle
来增大音量,减小音量和切换音量。
看到:
https://bugs.launchpad.net/xfce4-volumed/+bug/883485/comments/3
xfce4-mixer具有的设置active-card
,必须将其设置为Pulseaudio,否则它将使用Alsa。
对于KDE和kmix用户,如果使用此脚本,您仍将获得视觉反馈:
#! /bin/bash
DBUS=qdbus 2> /dev/null
case "$1" in
volup)
pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
${DBUS} org.kde.kmix /kmix/KMixWindow/actions/increase_volume com.trolltech.Qt.QAction.trigger
;;
voldn)
pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
${DBUS} org.kde.kmix /kmix/KMixWindow/actions/decrease_volume com.trolltech.Qt.QAction.trigger
;;
mute)
${DBUS} org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger
pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo $(${DBUS} org.kde.kmix /Mixers/0/Master_0 org.kde.KMix.Control.mute | sed 's/false/0/g;s/true/1/g')
;;
*)
echo "Usage: mixctl <volup|voldn|mute>" >&2
exit 1
;;
esac
exit 0
用法:
1)将其另存为〜/ bin / mixctl
2)取消映射默认的kmix键盘快捷键以提高音量/降低音量并静音
3)创建三个新的自定义键盘快捷键,分别为“提高音量”,“降低音量”和“静音”
- >快捷类型:命令
- >作为命令使用〜/斌/ mixctl VOLUP,/ mixctl voldn〜/ bin中和〜/斌/ mixctl静音分别
在升级到XFCE 4.10的多台Xubuntu 12.04计算机上,我遇到了同样的问题。这是从命令行(或使用bash
脚本)解决此问题的快速方法。
与以前提供权宜之计脚本的解决方案不同,此解决方案可完全恢复静音/取消静音按钮的功能。
只需一次发出以下两个命令,即可彻底解决问题:
$ xfconf-query --channel xfce4-mixer --property /active-card --set PlaybackInternalAudioAnalogStereoPulseAudioMixer --reset
$ xfconf-query --create --channel xfce4-keyboard-shortcuts --property /commands/custom/XF86AudioMute --type string --set 'amixer -D pulse set Master 1+ toggle'