什么是 =pactl=?
pactl
是一个命令行工具,用于控制正在运行的 PulseAudio 声音服务器。PulseAudio 是 Linux 下一个常用的音频服务器,它具有强大的音频管理和控制功能。通过 pactl
,用户可以发出控制命令来管理系统中的音频输入和输出。使用 pactl
需要先安装 pulseaudio-utils
sudo apt-get install -y pulseaudio-utils
pactl
中,什么是 sink?
在 pactl
和 PulseAudio 的上下文中,一个 “sink” 是一个音频输出设备,它可以是一个扬声器、耳机或者任何其他类型的音频输出接口。每个 sink 都有一个唯一的索引号和名称,用于在命令行中对其进行引用和控制。
如何查看可用的 sinks
要查看当前系统中可用的音频输出设备(sink),可以使用以下命令:
pactl list short sinks
设置默认 sink
大多数情况下,默认 sink 是恰当的,但当我们长期其他音频设置(如带音频的显示器),并希望默认对其进行音量设置,则需要修改默认 sink。
1. 查看所有可用的音频输出设备(sink)
首先,您需要列出所有可用的音频输出设备,以便知道它们的索引和名称。
2. 设置终端模拟器下,临时修改默认 sink
一旦您知道了想要设置为默认的音频输出设备的名称,可以使用以下命令来设置默认的音频输出设备:
pactl set-default-sink <sink_name>
在这里,需要将 <sink_name>
替换为需要设定的 sink ID,如 alsa_output.pci-0000_01_00.1.hdmi-stereo
。
3. 系统层面,全局修改默认 sink
通过修改 default.pa
文件,可以全局设置默认 sink /etc/pulse/default.pa,并在其中添加或修改相应的 set-default-sink
行。
4. 重启 PulseAudio 服务
关闭 pulseaudio
服务,或者,重启电脑。
pulseaudio -k
如何查看/修改 sink 的音量?
pactl 有专门的符号指向默认 sink,即 @DEFAULT_SINK@
,这样的好处在于,否认默认 sink 指向何种设备,总能以统一的命令对其进行设置。
以下以修改默认 sink 为例说明如何修改 sink 的音量,如何需要修改其他 sink,则将 @DEFAULT_SINK@
修改为对应的 sink id 即可。
查看音量
pactl get-sink-volume @DEFAULT_SINK@
增加音量
pactl set-sink-volume @DEFAULT_SINK@ +5%
减少音量
pactl set-sink-volume @DEFAULT_SINK@ -5%
设置绝对音量
pactl set-sink-volume @DEFAULT_SINK@ 50%
查看静音状态
pactl get-sink-mute @DEFAULT_SINK@
静音
pactl set-sink-mute @DEFAULT_SINK@ 1
或者
pactl set-sink-mute @DEFAULT_SINK@ true
取消静音
pactl set-sink-mute @DEFAULT_SINK@ 0
或者
pactl set-sink-mute @DEFAULT_SINK@ false
切换静音状态
pactl set-sink-mute @DEFAULT_SINK@ toggle