通过命令行静音内置扬声器,但不静音外部输出扬声器/耳机

通过命令行静音内置扬声器,但不静音外部输出扬声器/耳机

我一直在寻找这个问题的答案,但没找到。我试图从命令行静音/取消静音我的计算机的内置扬声器,而不影响连接到声卡输出插孔的外部扬声器。

到目前为止,我发现这些命令可以从命令行静音/取消静音,但这两个命令也会使外部扬声器静音/取消静音:

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 helpman pactl以了解更多选项。

相关内容