设置 PulseAudio 的默认配置文件

设置 PulseAudio 的默认配置文件

如何在 PulseAudio 中设置每次启动后使用的默认配置文件?

当我启动时,声音不起作用。如果我打开 PulseAudio 音量控制应用程序,转到“配置”窗格并从“配置文件”下拉菜单中选择“模拟环绕 4.0 输出”,则声音会再次正常工作。但是,这只会持续到下次重新启动为止。

如何配置系统以在将来重新启动后使用该配置文件?

答案1

将以下内容添加到/etc/pulse/default.pa

set-card-profile <cardindex> <profilename>

我们如何确定使用 ascardindex和 as profilename?这是一种方法。配置卡,使一切正常。通常cardindex为 0,但您可以通过运行pacmd list-cards并查看行来找到它index: ...。要找到profilename,请使用

pacmd list-cards | grep 'active profile'

当前配置文件的名称应出现在输出中。删除尖括号( 和<>

您可以通过运行来测试您的配置

pactl set-card-profile <cardindex> <profilename>

从命令行查看它是否正确设置了配置文件,然后将其添加到/etc/pulse/default.pa.

由于索引名称是动态的(如果您在插入 USB 音频设备的情况下启动,它可以更改您的 PCI 设备索引),因此您可以使用<symbolic-name>代替<index>(如果您运行pacmd list-cards,则符号名称位于索引正下方)。此外,如果启动pulseaudio时缺少设备,该命令可能会失败,因此可能值得用 .ifexists 子句包装该命令:

.ifexists <symbolic-name>
pactl set-card-profile <symbolic-name> <profilename>
.endif

答案2

最后写这篇文章是为了帮助更改配置文件。只担心蓝牙,但您可以根据需要编辑它以选择 中的其他来源pactl list cards

index=$(pactl list cards | grep -B1 "bluez_card" | grep -oP '(?<=Card #)\d+')

pactl set-card-profile $index a2dp-sink
# pactl set-card-profile $index off
# pactl set-card-profile $index headset-head-unit

答案3

插入命令行/etc/pulse/default.pa对我来说不起作用;它导致了错误。

我刚刚解决了发出命令的问题

pactl set-card-profile <symbolic-name> <profilename>

在linux的自启动任务中,它可以工作。

答案4

我只是想添加另一种更简单的方法来做到这一点,但可能只能在某些桌面环境下工作:

在 KDE Plasma 下,我可以打开系统设置 GUI,导航到“音频”窗格(在“硬件”下),然后从下拉菜单更改配置文件。重新启动后此更改仍然存在。无需编辑奇怪的文件,或手动确定卡名称和所需的配置文件。

相关内容