Kubuntu 20.04:如何强制我的蓝牙耳机单元配置文件为 HSP/HFP?

Kubuntu 20.04:如何强制我的蓝牙耳机单元配置文件为 HSP/HFP?

自从我升级到 Kubuntu 20.04 以来,我遇到了以下问题:当我连接 USB 耳机时,它会自动配置为 A2DP 配置文件,而我需要在 HSP/HFP 配置文件中使用它才能拨打电话。从 A2DP 到 HSP/HFP 配置文件的自动切换不适用于我使用的程序,无论是默认选项auto_switch=1还是module-bluetooth-policyauto_switch=2主要问题是我使用的程序是林峰,需要在启动时(音频启动之前)就存在音频接收器,以便可以在应用程序设置中选择输入和输出。因此,每次打开它之前,我都必须将音频系统设置中的耳机配置文件从 A2DP 更改为 HSP/HFP林峰

因此,经过深入调查(这里和其他网站上描述了许多类似的问题)我最终得到了以下命令:

pactl set-card-profile <my_card_name> headset_head_unit

从命令行运行时可以正常工作。但是,当我将其添加到/etc/pulse/default.pa以下内容时:

.ifexists <my_card_name>
pactl set-card-profile <my_card_name> headset_head_unit
.endif

它不起作用,可能是因为该文件是在 PulseAudio 服务器启动时解析和运行的,这太早了。因此,我需要在耳机插入后立即执行该命令。可能需要 UDEV 规则,但这超出了我的技能范围。

或者,通过某种方式改变 PulseAudio 中的配置文件优先级也可以在没有任何 UDEV 规则的情况下完成该操作;pactl list显示(从意大利语翻译):

Card #3
        Name: <my_card_name>
        Driver: module-bluez5-device.c
        Owning module: 24
        Properties:
                device.description = "Mpow M5"
                device.string = "<MAC address>"
                device.api = "bluez"
                device.class = "sound"
                device.bus = "bluetooth"
                device.form_factor = "headset"
                bluez.path = "/org/bluez/hci0/dev_<MAC address>"
                bluez.class = "0x240404"
                bluez.alias = "Mpow M5"
                device.icon_name = "audio-headset-bluetooth"
                device.intended_roles = "phone"
        Profiles:
                headset_head_unit: Headset head unit (HSP/HFP) (sink: 1, sources: 1, priority: 30, available: yes)
                a2dp_sink: High-fidelity playback (sink A2DP) (sink: 1, sources: 0, priority: 40, available: yes)
                off: Off (sink: 0, sources: 0, priority: 0, available: yes)
        Active profile: headset_head_unit
        Ports:
                headset-output: Headphones with microphone (priority: 0, latency offset: 0 usec, available)
                        Profiles: headset_head_unit, a2dp_sink
                headset-input: Headphones with microphone (priority: 0, latency offset: 0 usec, available)
                        Profiles: headset_head_unit

也许,如果我可以将其更改priority: 30为(比如说)priority: 50,我可以让 PulseAudio 优先选择 HSP/HFP 配置文件而不是 A2DP。但是,我在 PulseAudio 文档或网络上找不到有关如何更改该值的任何提示。

相关内容