![我如何强制执行音频配置文件?](https://linux22.com/image/1163389/%E6%88%91%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6%E6%89%A7%E8%A1%8C%E9%9F%B3%E9%A2%91%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%9F.png)
设置菜单为我的蓝牙耳机提供了“耳机主机(HSP/HFP)”和“高保真播放(A2DP 接收器)”的选择。前者产生的音质很差,所以我总是将配置文件设置为后者,但有些应用程序似乎将配置文件设置为耳机主机。例如,如果我打开 TeamSpeak。我可以打开设置菜单并将配置文件重新设置为 A2DP,没有任何问题,但有没有办法可以强制它保持在我选择的模式?此外,当我打开耳机时,它们通常会连接到 HSP/HFP 配置文件。有没有办法让它记住我的配置文件选择?
注意:我的问题与通过 CLI 更改配置文件无关,而是如何确保我选择的配置文件(通过 GUI 或 CLI)不会被应用程序覆盖,并且不会在重新启动耳机时重置。
答案1
观察到的配置文件切换似乎是 PulseAudio 10.0 及更高版本的一个功能,在发行说明作为“使用 VoIP 应用程序时自动切换蓝牙配置文件”。总而言之,如果使用 A2DP,当应用程序使用麦克风时,PulseAudio 将切换到 HFP。这是必要的,因为 A2DP 无法支持同时输入和输出,而 HFP 可以。
以下错误报告包含有关此问题的更多信息: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/508522 https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1711087
要解决此问题,您可以根据自己的喜好编辑/etc/pulse/default.pa
或。如果您决定使用用户配置文件,则可能必须通过复制 来创建它。决定要编辑哪个文件后,找到以下行:~/.config/default.pa
/etc/pulse/default.pa
load-module module-bluetooth-policy
...并将其替换为以下内容:
load-module module-bluetooth-policy auto_switch=false
添加的参数将阻止 PulseAudio 执行配置文件切换。
我将保留这个问题,因为这个答案并没有具体解决强制执行配置文件的问题。但是,它确实解决了我所面临的切换原因,希望其他人会觉得它有用。