一、背景

  • 基于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. 2.Python中的reload函数以及not defined reload
  2. python中线条颜色_python中plot用法——线条、点、颜色
  3. 我也不知道该咋分类--莫队算法
  4. 2017最新nginx+keepalived+centos7安装配置过程
  5. 小学三年级计算机基础知识课件,小学三年级信息技术基础知识ppt课件.ppt
  6. 系统学习数字图像处理之形态学分析补充(灰度级处理)
  7. 我没钱 如何推广自己的网站
  8. 在.NET 对XML的一些基本操作
  9. Divide Two Integers leetcode java
  10. 深入体验java项目开发 pdf,深入体验Java Web项目开发.pdf
  11. XenApp / XenDesktop 7.6 初体验三 StoreFront和Citrix Receiver
  12. 论文阅读笔记—Exploring Visual Relationship for Image Captioning
  13. 7-4 华氏度转摄氏度 (5分) java
  14. unity3d显示c4d材质_纯干货:C4D从初学者到精通,其实很简单
  15. java刮刮乐,Canvas实现简单刮刮乐效果
  16. 2019-4-29-win10-uwp-使用-Border-布局
  17. 蓄水池采样算法的python实现_蓄水池抽样算法(Reservoir Sampling)
  18. 周易哲学(一):干支纪年法和四柱八字
  19. scau csapp复习
  20. J2EE框架设计技术分析

热门文章

  1. vue爬坑之 父组件向子组件异步传参 子组件中拿不到值的解决方法
  2. 计算机既是服务器又是工作站,计算机三级.docx
  3. slimScroll的应用(一)
  4. 为糖足患者讲述新篇章
  5. 机器视觉实用工具集NO.10——使用深度学习模型(yolo3)实现物体检测工具
  6. PHP常量变量及注释
  7. python量化交易实战读书笔记
  8. Java开发者该学习哪些东西提高竞争力?灵魂拷问
  9. 大数据Flink进阶(十五):Flink On Yarn任务提交
  10. vue-cli创建vue项目详细步骤