一、背景

  • 基于Linux音频服务子系统PulseAudio(Linux默认声音服务器)进行音频开发,包括采集(record)和播放(playback);
  • 测试中发现笔记本(ubuntu 18.04)连接蓝牙后无法读取record设备,只能识别到playback设备,经过一番折腾,发现native PulseAudio不支持HSP/HFP, 连接蓝牙耳机后,输入指令pactl list cards查看声卡信息:
查看蓝牙耳机声卡Profiles:
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
a2dp-sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 0, available: yes)
headset-head-unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 0, available: no)

可以看出此时默认只支持A2DP协议,不支持HSP/HFP,解释如下:

  • a2dp-sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 0, available: yes)
    A2DP是单向的,只支持播放(sink),不支持录制(source);
  • headset-head-unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 0, available: no)
    HSP/HFP是双向的,同时支持播放(sink)和录制(source);

结论:当前系统环境下无法支持蓝牙耳机录制,就算从PulseAudio Volume Control工具下切换Configuration也是毫无意义的。

二、解决方案

查阅资料发现,可以通过安装pipewire(参考
PipeWire: The Linux audio/video bus)让PulseAudio工作在pipewire上。
详细操作可以参考How to Enable PipeWire Audio Service to Replace PulseAudio in Ubuntu 21.10 & 21.04

步骤如下:

1. 通过ppa安装pipewire

sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
sudo apt install pipewire
sudo apt install libspa-0.2-bluetooth

2. 重启系统

3. 验证pipewire是否正常安装

pactl info

sam@sam-ThinkPad-Edge-E440:~$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 32
Server Protocol Version: 35
Is Local: yes
Client Index: 74
Tile Size: 65472
User Name: sam
Host Name: sam-ThinkPad-Edge-E440
Server Name: PulseAudio (on PipeWire 0.3.39)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.pci-0000_00_1b.0.analog-stereo
Cookie: 2c95:ace7

查看Server Name出现PipeWire说明安装完成
Server Name: PulseAudio (on PipeWire 0.3.39)

4. 查看声卡Profiles

pactl list cards

Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
a2dp-sink: High Fidelity Playback (A2DP Sink) (sinks: 1, sources: 0, priority: 0, available: yes)
headset-head-unit: Headset Head Unit (HSP/HFP) (sinks: 1, sources: 1, priority: 0, available: yes)
a2dp-sink-sbc: High Fidelity Playback (A2DP Sink, codec SBC) (sinks: 1, sources: 0, priority: 0, available: yes)
headset-head-unit-cvsd: Headset Head Unit (HSP/HFP, codec CVSD) (sinks: 1, sources: 1, priority: 0, available: yes)

现在看到A2DP和HSP/HFP都支持了,现在移步到系统Settings或使用PulseAudio Volume Control工具去配置蓝牙耳机的profile为HSP/HFP,即可使用蓝牙耳机的mic功能。

ubuntu18.04 PulseAudio蓝牙耳机开启mic的解决办法相关推荐

  1. ubuntu18.04无法安装最新显卡驱动解决办法

    ubuntu18.04无法安装最新显卡驱动解决办法 一,问题描述 安装驱动时,打开软件和更新---->附加驱动,显示的显卡驱动版本与官网最新版本不同.例如我的显示390,但是官网显示最新为430 ...

  2. ubuntu18.04 wifi适配器打不开解决办法

    笔记本:联想y7000p 系统:win10 + ubuntu18.04 网卡:rtl8822ce -------------- 参考博客: https://blog.csdn.net/qq_33591 ...

  3. Ubuntu18.04 没有有以太网连接的解决办法

    在重装了 Ubuntu 和 win10 的双系统之后,我发现,win10 可以正常上网,但新装好的 ubuntu 是没有以太网连接的,也就是没有 "有线连接" 的选项,具体表现为在 ...

  4. 虚拟机Ubuntu18.04开机后没有网络的解决办法

    总共四步:详细过程在后面 ①cat /var/lib/NetworkManager/NetworkManager.state ②sudo service network-manager stop ③s ...

  5. Ubuntu18.04网络图标不见了,解决办法

    1.删除NetworkManager缓存文件 service NetworkManager stop sudo rm /var/lib/NetworkManager/NetworkManager.st ...

  6. 解决Ubuntu18.04下VMware开启虚拟网络编辑器无反应

    解决Ubuntu18.04下VMware开启虚拟网络编辑器无反应 我确信原来vmware->Edit->Virtual Network Editor 肯定是可以工作的. 可是现在点击却没有 ...

  7. 树莓派4B安装ubuntu18.04 Wifi热点开启

    树莓派4B安装ubuntu18.04 Wifi热点开启 最近开发需要以树莓派为主机开启Wifi热点,经过网上搜寻,采用create_ap 来开启,遇到了些坑,在这里和大家一起分享一下: 首先,需要安装 ...

  8. ubuntu18.04 ssh 远程系统拒绝连接 解决方法

    ubuntu18.04 ssh 远程系统拒绝连接 解决方法 参考文章: (1)ubuntu18.04 ssh 远程系统拒绝连接 解决方法 (2)https://www.cnblogs.com/jiuj ...

  9. Ubuntu18.04安装搜狗拼音输入法皮肤透明解决方法

    Ubuntu18.04安装搜狗拼音输入法皮肤透明解决方法 参考文章: (1)Ubuntu18.04安装搜狗拼音输入法皮肤透明解决方法 (2)https://www.cnblogs.com/darkli ...

最新文章

  1. mysql的left join和inner join的效率对比,以及如何优化
  2. 七步带你认识计算机视觉
  3. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 4丨员工薪水中位数【难度困难】
  4. 打印ASCII码(信息学奥赛一本通-T1020)
  5. 基于windows PE文件的恶意代码分析;使用SystemInternal工具与内核调试器研究windows用户空间与内核空间...
  6. 张口就问“CCIE”月薪多少
  7. [Unity][AssetStore][PacakageManager]2020.1版本后的AssetStore如何下载资源并导入编辑器以及Error refreshing packages解决办法
  8. c4d在运行时候显示计算机内存不足,打开c4d电脑电脑卡死怎么办
  9. matlab线性规划求解函数:linprog
  10. 分组卷积和深度可分离卷积
  11. 文本信息过滤中的变体词识别(一)
  12. VBA 字典方法及属性介绍
  13. php 回车符替换,php怎么替换回车符
  14. java中,判断当前时间是否处于某个一个时间段内
  15. 3d打印模型为什么文件格式必须是stl和stp的?
  16. 传世基本架构-客户端(全局变量与总体执行流程)
  17. 【C51开发应用】基于C51单片机开发的循迹灭火机器人
  18. sudo su后获取不到JAVA_HOME环境变量的解决方案
  19. java 多线程 map_多线程Map并发读后修改
  20. Excel的SUMPRODUCT函数及其用法

热门文章

  1. 一眼看懂promise与async await的区别
  2. 获取Android手机上音乐播放器状态
  3. js inArray() jQuery.inArray( value, array )
  4. python脚本 游戏赚金币兑换钱_一种王者荣耀刷金币方法(python脚本)
  5. 基于MATLAB的频率分析
  6. 非越狱砸壳方式总结及坑
  7. 一探前端开发中的JS调试技巧
  8. 小米物联网世界第一_中国充电宝隐形冠军,自主品牌无人问津,却帮小米成为全球第一...
  9. 自考计算机网络工程本科考哪些科,自考网络工程本科考试科目有哪些
  10. 万字长文|Hashtable源码深度解析以及与HashMap的区别