自动更改声音输入输出设备

Sen*_*ran 37 sound

我必须插入我的 USB 音频适配器(4300054 Gigawire USB 音频适配器)进行音频输入,因为它有一个用于语音的组合输入输出端口。执行此操作后,我已打开声音设置并手动选择用于输入和输出的 USB 音频适配器,如果不这样做,则系统默认值保持选中状态。

无论如何,我可以让Ubuntu在插入后立即自动选择USB音频适配器作为默认设置吗?

Tak*_*kat 53

pulseaudio module-switch-on-connectmodule-switch-on-port-available可以在连接时自动切换音频设备。如果已经加载了这些模块中的任何一个,请使用以下命令查看:

pactl list short modules
Run Code Online (Sandbox Code Playgroud)

如果没有,则通过在终端中发出以下一个或两个命令来测试是否可以使自动切换工作:

pactl load-module module-switch-on-connect
pactl load-module module-switch-on-port-available
Run Code Online (Sandbox Code Playgroud)

成功后,将以下一行或两行添加到您的 /etc/pulse/default.pa

load-module module-switch-on-connect
load-module module-switch-on-port-available
Run Code Online (Sandbox Code Playgroud)

这将始终在每次登录时加载这些模块,分别是。重启pulseaudio守护进程。

请注意,本地用户设置~/.config/pulse/default.pa会覆盖系统范围的设置。如果您有这样的本地文件,您将在那里输入上述命令。

如果它仍然不起作用,您可能在这样的本地default.pa. 然后可能值得(暂时)重命名此文件,然后重新启动 Pulseaudio 服务器,然后再尝试上述操作:

mv ~/.config/pulse/default.pa ~/.config/pulse/default.pa.old
pulseaudio -k
Run Code Online (Sandbox Code Playgroud)

  • 如果“模块加载失败”怎么办? (5认同)

hir*_*ari 24

~/.config/pulse/default.pa如果不存在则创建并追加

.include /etc/pulse/default.pa
load-module module-switch-on-connect
Run Code Online (Sandbox Code Playgroud)

这比编辑好/etc/pulse/default.pa

之后,您应该运行pulseaudio -k && pulseaudio --start以使更改生效。感谢您指出 lreeder

  • 在 16.04 LTS 上为我工作。创建此配置后,您还需要重新启动pulseaudio。命令行中的 'pulseaudio -k' 就可以了。 (4认同)
  • 为什么它“比编辑 /etc/pulse/default.pa 更好”? (4认同)
  • @Rodrigo 因为编辑系统范围的配置文件通常不是一个好主意,这些文件可能会被更新覆盖和/或影响其他用户。请参阅此处:https://wiki.archlinux.org/index.php/PulseAudio#Configuration_files (2认同)