首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用脉冲音频>=6和bluez >= 5.24实现HSP/HFP剖面的蓝牙设备

利用脉冲音频>=6和bluez >= 5.24实现HSP/HFP剖面的蓝牙设备
EN

Unix & Linux用户
提问于 2017-02-01 16:17:41
回答 2查看 15.7K关注 0票数 11

我想在我的linux机器上接收/录制来自蓝牙设备的音频。我有一个耳机工作正常(麦克风工作正常),即在macOS上,但我无法让它与一起工作,但从我所能看到的情况来看,它也影响到其他发行版。

  • 该设备使用bluetoothctl进行配对和正确连接。
  • A2DP配置文件工作正常
  • pactl ls报告,除其他外,headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: no)
  • 当尝试切换到headset_head_unit脉冲音频报告时,[pulseaudio] module-bluez5-device.c: Refused to switch profile to headset_head_unit: Not connected

在升级bluezpulseaudio、使用ofono等方面,我已经找到并尝试过各种建议,但都没有成功。大多数常见的评论是,在最近的bluez中,HSP/HFP支持已经被放弃,应该使用ofono (但我不确定ofono作为AFAIK应该如何帮助它,当BT susystem被用作客户端,即连接到移动电话时,它是相关的)。我可以看到许多未解决的bug,比如对于freedesktop 这里这里红帽ubuntu德比安,以及在stackexchange上提出的类似问题。虽然有一些成功的报道,但我无法继续尝试。

  • 使用pulseaudio config load-module module-bluetooth-discover headset=ofono (以及autonative变体),版本7、8、10
  • bluez 5.24、5.42、5.43 (未能找到debian的其他版本,例如,bluez 5.35报告了一些成功)
  • 耳机设备与bluetoothctl的重新配对和重新连接

此外,报告中也有一些混乱之处,因为可能有些人将linux蓝牙堆栈作为客户机/服务器进行混合--至少这是我对使用ofono的理解。

尽管在RPI 3上也有一些关于蓝牙的问题报告,我想首先找到任何迹象,如果HFP/HSP在当前的bluez/pulseaudio中是可能的。有任何成功的报告,包括明确的步骤,比如debian (甚至更好的是关于raspbian),将对我有很大帮助。甚至任何其他发行版上的任何成功安装都可能帮助我在我的盒上构建相同的版本。看起来这个问题影响了pulseaudio/bluez堆栈超过一年,很难相信人们不能使用他们的BT耳机,即对VOiP调用这么长时间。不确定我是否提供了我的调查的所有重要细节,所以如果有评论,我可以更新这个问题。

还想知道是否有一些bug报告与一些积极的开发和解决方案的机会。

更新:很可能在删除ofono之后,我终于能够在尝试录制或播放声音时切换到headset_head_unit的连接,但是设备显示了一些活动(即由内部脉动主导的),但是没有接收/发送数据(即parec创建了大小为44b的空wav,这只是wav报头)。我已经测试了相同的设备使用a2dp_sink配置文件,可以播放声音,没有任何问题。我想知道它是怎么调试的。

EN

回答 2

Unix & Linux用户

发布于 2017-12-05 16:37:22

我的解决方案:

经过大量搜索,我在Fedora 26中找到了我的解决方案,使用Plantronics和可插蓝牙USB。

我正在回顾我的历史,并在可能的情况下用我的解决方案更新线程。这对我有效,直接从Plugable (这是我正在使用的USB模块)。

帖子。

以上链接的

命令摘要

代码语言:javascript
复制
wget https://s3.amazonaws.com/plugable/bin/fw-0a5c_21e8.hcd
sudo mkdir /lib/firmware/brcm
sudo mv fw-0a5c_21e8.hcd /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd
sudo cp /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd /lib/firmware/brcm/BCM20702A1-0a5c-21e8.hcd

那就重新启动。

票数 4
EN

Unix & Linux用户

发布于 2021-05-22 07:40:12

我也面临着同样的问题,一加无线Z低音版。我的耳机麦克风没有被PulseAudio检测到,问题是我的耳机没有HSP配置文件,只有HFP配置文件。经过2天的尝试,我找到了用管道声音服务器代替PulseAudio的解决方案,它本身支持HSP、HFP和A2DP。因此,不需要安装任何其他实用程序,如ofonophonesim。另外,需要注意的是,即使在执行了在ofono中配置PulseAudio的所有步骤之后,我的问题也没有得到解决。因此,我想出了用PipeWire替换PipeWire的步骤。

这是我为解决这个问题而写的详细文章,我在这里还添加了这些步骤。你可以遵循它,并且很可能能够解决你的问题。

蓝牙耳机麦克风未检测到

打开终端并按照以下步骤操作:

  1. 我们将使用PPA将管道添加到Ubuntu 20.04,定期维护: sudo add-apt-存储库ppa: Pipewire -debian/pipewire-上游。
  2. 要更新系统中的PPA包,请执行: sudo apt更新
  3. 安装软件包: sudo apt安装管道
  4. 此外,还需要安装Pipewire,否则您将面临“蓝牙耳机安装后无法连接”的问题。通过以下方式安装依赖项: sudo apt安装libspa-0.2-蓝牙
  5. 现在,要安装客户端库: sudo apt安装pipewire-音频-客户端库。
  6. 重新加载守护进程: systemctl --用户守护进程-重新加载
  7. 禁用PulseAudio: systemctl --用户现在禁用pulseaudio.service pulseaudio.socket
  8. 如果您在Ubuntu20.04上,还需要“屏蔽”PulseAudio : systemctl -user掩码脉冲音频。

我不确定,但是,如果可能的话,您也可以尝试在其他版本上运行这个程序。

  1. After a new update of Pipewire, you also need to enable `pipewire-media-session-service`:
代码语言:javascript
复制
   systemctl --user --now enable pipewire-media-session.service
  1. 您可以确保Pipewire现在正在运行: pactl info,这个命令将提供以下输出,在服务器名中您可以看到: PulseAudio (在PipeWire 0.3.28上),现在应该可以工作了,您可以看到您的麦克风。

如果它没有出现,那么尝试通过以下命令重新启动Pipewire:

代码语言:javascript
复制
systemctl --user restart pipewire

如果安装了ofono和,还需要卸载它们:

代码语言:javascript
复制
sudo apt remove ofono
sudo apt remove ofono-phonesim

如果它仍然没有显示你的麦克风,你可以尝试重新启动一次,删除和对你的蓝牙设备,以检查它现在是否工作。

我希望我帮你解决了你的问题。

如果要回滚我们所做的所有更改,可以使用:

代码语言:javascript
复制
systemctl --user unmask pulseaudio
systemctl --user --now enable pulseaudio.service pulseaudio.socket
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/341776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档