让 PulseAudio 优先选择外部音频设备

让 PulseAudio 优先选择外部音频设备

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

如果有外部设备,我希望 PulseAudio 总是优先选择外部设备而不是内部设备。有什么方法可以实现这一点吗?

答案1

同样有用的是加载模块module-switch-on-connect。如果你添加以下行:

load-module module-switch-on-connect

(当然是/etc/pulse/default.pa作为 su),这应该自动发生,而无需调用脚本。

文档模块连接开关对其工作原理有更详细的描述。

答案2

从理论上来说,这应该由“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”即可获得更多信息。

答案3

我的回答和 Sam Whitlock 的类似,只是我必须编辑文件default.pa~/.config/pulse只需添加load-module module-switch-on-connect即可!

运行 Ubuntu 17.04 并配备 JieLi AC4100/IQ Sound 蓝牙耳机(但使用 USB)。

相关内容