Ubuntu 的桌面 GUI 非常适合更改音频设置(系统->首选项->声音),例如默认输入/输出设备和设置音量。
但是,我希望能够从命令行执行这些操作。GUI 在后台使用什么工具?
答案1
pacmd
您可以使用和命令通过命令行彻底控制 PulseAudio pactl
。有关选项,请参阅pacmd --help
或 wiki脉冲音频:
pacmd list-sinks
可能的接收器的名称或索引号
pacmd list-sources
可能的来源的名称或索引号
pacmd set-default-sink "SINKNAME" | index
设置默认输出接收器
pacmd set-default-source "SOURCENAME" | index
设置默认输入
pacmd set-sink-volume index volume
pacmd set-source-volume index volume
用于音量控制(65536
= 100% 、0
= 静音;或者更直观的0x10000
= 100% 、0x7500
= 75% 、0x0
= 0%)
以及更多 CLI 选项。
笔记:通过命令行界面更改输出接收器只有在以下情况下才会生效流目标设备读取被禁用。可以通过将相应的行编辑/etc/pulse/default.pa
为:
load-module module-stream-restore restore_device=false
重新启动 PulseAudio 以使更改生效:
pulseaudio -k
有关如何执行此操作的更详细教程,以及如何在播放过程中更改接收器的说明参见此答案。
答案2
是的,有类型alsamixer在终端
按 ,
F1 - 帮助
F2——系统信息
F6——选择声卡
Esc——退出菜单
答案3
我发现这些说明清晰易懂。它解释了如何从命令行设置默认音频输出设备(扬声器等),以及如何将您选择的设置设为系统默认设置,以便在机器重启后进行设置。
设置默认输出接收器
要列出可用的输出接收器,请输入以下命令:
$ pacmd 列表接收器 | grep -e'名称:'-e'索引:'
索引:0
名称:<alsa_output.pci-0000_04_01.0.analog-stereo>
索引:1
名称:<组合>
索引前面的 * 表示当前默认输出。
要设置系统范围的默认值,请在 default.pa 文件中添加源名称:
/etc/pulse/默认.pa
...
设置默认接收器 alsa_output.pci-0000_04_01.0.analog-stereo
...
完成后,您可以注销/登录或手动重新启动 PulseAudio 以使这些更改生效。
答案4
在 WirePlumber(PipeWire 会话管理器)的情况下,wpctl
可以帮助您。
获取可用的音频设备wpctl status
(默认显示为*
):
PipeWire 'pipewire-0' [0.3.77, machitgarha@machitgarha, cookie:2827478639]
└─ Clients:
...
Audio
├─ Devices:
│ 46. Built-in Audio [alsa]
│ 78. Headset H390 [alsa]
│
├─ Sinks:
│ * 49. Built-in Audio Analog Stereo [vol: 0.90]
│ 84. Headset H390 Pro [vol: 1.00]
│
├─ Sink endpoints:
│
├─ Sources:
│...
...
从“Sinks”部分中提取设备编号,然后使用 更改默认音频接收器(即设备)wpctl set-default
。例如,将其更改为“Headset H390 Pro”:
wpctl set-default 84
检查默认接收器是否已更改wpctl status
。