自动选择蓝牙耳机麦克风作为输入设备/连接时在声音设置中更改为 HSP/HFP 音频配置文件

自动选择蓝牙耳机麦克风作为输入设备/连接时在声音设置中更改为 HSP/HFP 音频配置文件

我有一个Jabra Evolve 75我通过蓝牙将耳机连接到我的 Ubuntu 20.04 机器。除了一个小麻烦之外,原则上一切正常:

每当我打开耳机时,它都会连接,并且输出设备会自动在声音设置中相应设置。这就是我想要的方式。然而,输入设备仍然像之前设置的那样,我必须手动进入设置并将其更改为Jabra Evolve 75

在此处输入图片描述

我如何配置设置以便输入设备输出设备自动切换到Jabra Evolve 75一旦我打开耳机?


更新:输入设备也自动切换时配置设置从高保真播放(A2DP 接收器)热解蛋白/氢解蛋白。因此,如果可以自动选择它作为配置文件,我的问题也将得到解决。

答案1

好的,我终于找到了如何自动切换到 HFP 音频配置文件,然后它还会自动将耳机麦克风设置为输入设备。

有多种方法,但在连接蓝牙耳机时自动执行此操作的唯一方法似乎是创建一条udev规则,在耳机连接时运行脚本。有一个非常好的博客文章对此进行了深入描述我用它来实现我想要的东西,下面的大部分代码最初也出自这里。

以下是基本步骤:

  1. 使用 查找卡名和配置文件pactl list。输出包含您需要的两行:

    ...
    Card #20
        Name: bluez_card.70_BF_92_C9_F5_D0
        ...
     Profiles:
         a2dp_sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 40, available: yes)
         handsfree_head_unit: Handsfree Head Unit (HFP) (sinks: 1, sources: 1, priority: 30, available: yes)
         off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
    ...
    

    在此示例中,卡名称为bluez_card.70_BF_92_C9_F5_D0,配置文件名称为handsfree_head_unit

  2. 这样,创建一个脚本~/.config/auto-pactl.sh来将耳机切换到 HFP 配置文件:

    #!/bin/bash
    sleep 2 # wait for the headset to fully connect                                 
    sudo -u '#1000' XDG_RUNTIME_DIR=/run/user/1000 \                                
        pactl set-card-profile bluez_card.70_BF_92_C9_F5_D0 handsfree_head_unit     
    logger "Switched Jabra headset to HFP profile"
    
  3. 使脚本可执行:(chmod a+x ~/.config/auto-pactl.sh否则您将收到退出代码 1 错误)

  4. 找出耳机的输入名称udevadm monitor,然后连接蓝牙耳机。输出应类似于:

    ...
    UDEV  [54588.946048] add      /devices/virtual/input/input112 (input)
    ...
    
  5. 找出子系统、供应商和产品udevadm info -ap /devices/virtual/input/input112(使用上一个命令的输出替换设备)

  6. 利用这些信息,创建一个 udev 规则来执行上述脚本并将其存储在中/etc/udev/rules.d/52-jabra-headset.rules,在适当的位置插入您的卡和用户名的值:

    ACTION=="add", SUBSYSTEM=="input", ATTR{id/vendor}=="0067", ATTR{id/product}=="24a7", RUN+="/home/<myUsername>/.config/auto-pactl.sh"
    

这对我来说非常有效!

答案2

我认为这与“配置”类型有关。您选择了 A2DP,它仅支持耳机音频。尝试切换到 HSP/HFP,然后它是双向的。使用 HSP/HFP 时,您的音质可能会略有下降。我还没有找到任何使用蓝牙上的 HSP/HFP 实现高质量音频的解决方案。

您还可以尝试 pulseaudio 音量控制。它可以让您更灵活地控制声音设置。

干杯

相关内容