我一直在寻找这个问题的答案,但没找到。我试图从命令行静音/取消静音我的计算机的内置扬声器,而不影响连接到声卡输出插孔的外部扬声器。
到目前为止,我发现这些命令可以从命令行静音/取消静音,但这两个命令也会使外部扬声器静音/取消静音:
pactl set-sink-mute 1 0
amixer sset Speaker mute
我在戴尔 optiplex 760 Pentium 4 上运行 Ubuntu 13.10
接收器 0 设备是 nVidia 显卡的 HDMI 音频输出,但对于这个脚本,我对它不感兴趣。
看来接收器 1 设备既控制内置扬声器,又控制外部输出扬声器。我找不到区分两者的方法。有什么想法吗?
如果您需要更多信息来为我提供解决方案,请告诉我。
答案1
来自命令行的接口脉冲音频,您可以列出所有汇点(如“声音流消失的地方”),如下所示:
pactl list short sinks
0 alsa_output.pci-0000_02_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
现在,您可以使用单独的水槽并掌握所有细节。
您可以使用接收器的全名作为参数:
`pactl set-sink-mute alsa_output.pci-0000_00_1b.0.iec958-stereo toggle`
你可以反而的长名称, 使用索引号列在姓名前面的(1
):
切换静音,即在声音打开和关闭之间切换:
pactl set-sink-mute 1 toggle
转变静音,即关闭声音:
pactl set-sink-mute 1 1
转变静音,声音如下:
pactl set-sink-mute 1 0
请参阅pactl help
或man pactl
以了解更多选项。