使PulseAudio首选外部音频设备


12

我有一个Bose Soundlink外部音频设备,可用于将音乐从计算机流到立体声音响。Ubuntu可以识别该设备,但不会自动使用它。为了使PulseAudio使用它进行输出,我必须在“声音设置”的“输出”选项卡中手动选择它。

我希望PulseAudio总是喜欢外部设备而不是内部设备(如果有)。有没有办法做到这一点?

Answers:


19

加载模块也是有用的module-switch-on-connect。如果添加行

load-module module-switch-on-connect

/etc/pulse/default.pa(当然,如su),这应该自动发生而不必调用脚本。


3
谢谢!这是解决问题的一种优雅方法。要进行测试:$ pactl load-module module-switch-on-connect
iElectric

1
非常适合与我的USB DAC和Linux Mint 18 Sarah
alfonx

在Linux Mint 18.3 Sylvia上与Sims4 USB耳机+ mic配合使用
Nidhin David

5

理论上,这应该由“ PulseAudio音量控制”来处理。有一个按钮可以选择一个设备作为默认设备,尽管恕我直言,标题为“设为后备”。有关此功能的更多信息,请参见http : //ubuntuguide.org/wiki/Ubuntu_Oneiric_Hardware

不幸的是,该功能不起作用。拔掉USB音频设备后,就烦人地忘记了默认设备的设置,尽管事实上,下次插入设备时会保留所有其他设置,例如音量,平衡等。不会删除设备,此功能可能实际上对您有用。如果您缺少该应用程序,则只需安装软件包“ pavucontrol”

我使用USB耳机进行通话,并且必须使用'pacmd'编写脚本以根据需要启用或禁用它,以避免通过GUI。这使我只需添加一些启动器项目即可根据需要来回切换。就我而言,启用耳机的脚本是:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

并还原为我的内部音频:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

“ pacmd”非常易于使用,只需在终端上运行它,然后输入“ help”以获取更多信息。


1
同样值得一提的是,我已切换到基于KDE的发行版(NetRunner),并且音频设备首选项得到了更好的处理,甚至达到了针对不同应用程序类型(通信,多媒体等)使用不同默认设备的地步。
Veazer

“尽管imho的标题很差,但标题为“设为后备”。+1分
mertyildiran '17

@Veazer是否不Set as Fallback应该在“主”设备发生故障时让PulseAudio使用此设备?
cprn

2

我有一个类似的答案是什么萨姆惠特洛克说,除非我不得不编辑文件default.pa~/.config/pulse。只需添加load-module module-switch-on-connect工作!

使用JieLi AC4100 / IQ Sound蓝牙耳机(虽然使用USB)运行Ubuntu 17.04。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.