启动 VoIP 应用程序时,蓝牙耳机从 (A2DP sink) 切换到 (HSP/HFP)

Ubu*_*oob 16 voip bluetooth a2dp

几周以来,我的蓝牙耳机 Sony WH-H900-N 在 Ubuntu 18.04(以及 Linux Mint)中遇到了一些(更多)问题。这是一款具有降噪功能的耳机。因此它确实有一个用于此目的的麦克风,但我怀疑它是否足以用作 VoIP 应用程序的输入。相反,我想使用网络摄像头作为麦克风输入。

所以这里是我的问题:

- 我能够或多或少地正确连接耳机,但我必须在每个会话中手动配对并手动将其设置为 A2DP 配置文件。使用这个烦人的解决方法,它可以作为一个高质量的音频接收器。

- 每当我连接到任何 VoIP 应用程序(电报呼叫、连接到 TeamSpeak 服务器、Skype)时,它会自动从 A2DP 音频接收器配置文件切换到耳机主机 (HSP/HFP) 配置文件。结果是,我再也听不到任何声音了。系统既没有声音,也没有来自语音呼叫的音频。人们听到我说话,似乎使用了正确的麦克风作为输入(网络摄像头,而不是耳机中的麦克风)。

奇怪的是,直到几周前,我的通话都没有问题。这适用于两个不同的系统(Ubuntu、Linux Mint)。所以我猜最近有一些常见的更新导致了这些问题。

有谁知道我该如何解决这个问题?对我来说,似乎将耳机永久设置为 A2DP 音频接收器并将网络摄像头永久设置为默认麦克风输入可以解决这个问题。但我不确定这个消除噪音的东西是如何与这一切相互作用的。另外,我不知道如何永久设置,而且我读到有人试图手动弄乱pulseaudio的可怕故事:)

任何帮助表示赞赏!

小智 24

几个月来一直有这个问题。终于开始在谷歌上搜索解决方案,我在 arch linux 论坛上找到了这个答案(来自用户 v1del):

从pulseaudio 10.0发行说明:

Pulse 发布说明写道:蓝牙耳机通常支持适用于音乐的 A2DP 配置文件和适用于电话用例的 HSP 配置文件。当应用程序使用属性 media.role=phone 创建录制流时,module-bluetooth-policy 现在会自动将蓝牙耳机的配置文件从 A2DP 切换到 HSP/HFP(电话应用程序应为其流设置该属性)。当流消失时,配置文件将恢复为 A2DP。这样用户在开始和停止呼叫时不必手动切换配置文件。可以通过为 module-bluetooth-policy 提供参数 auto_switch=false 来禁用此行为。

基本上你需要改变文件中的这一行/etc/pulse/default.pa

### Automatically load driver modules for Bluetooth hardware
ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif
Run Code Online (Sandbox Code Playgroud)

到:

### Automatically load driver modules for Bluetooth hardware
ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy auto_switch=false
.endif
Run Code Online (Sandbox Code Playgroud)

  • 我知道,避免像“+1”或“谢谢”这样的评论,但是伙计,一个简单的投票不足以满足这篇文章避免的每日 PITA 数量。 (2认同)