我想在我的linux机器上接收/录制来自蓝牙设备的音频。我有一个耳机工作正常(麦克风工作正常),即在macOS上,但我无法让它与一起工作,但从我所能看到的情况来看,它也影响到其他发行版。
bluetoothctl进行配对和正确连接。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在升级bluez、pulseaudio、使用ofono等方面,我已经找到并尝试过各种建议,但都没有成功。大多数常见的评论是,在最近的bluez中,HSP/HFP支持已经被放弃,应该使用ofono (但我不确定ofono作为AFAIK应该如何帮助它,当BT susystem被用作客户端,即连接到移动电话时,它是相关的)。我可以看到许多未解决的bug,比如对于freedesktop 这里和这里、红帽、ubuntu和德比安,以及在stackexchange上提出的类似问题。虽然有一些成功的报道,但我无法继续尝试。
pulseaudio config load-module module-bluetooth-discover headset=ofono (以及auto、native变体),版本7、8、10bluez 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配置文件,可以播放声音,没有任何问题。我想知道它是怎么调试的。
发布于 2017-12-05 16:37:22
经过大量搜索,我在Fedora 26中找到了我的解决方案,使用Plantronics和可插蓝牙USB。
我正在回顾我的历史,并在可能的情况下用我的解决方案更新线程。这对我有效,直接从Plugable (这是我正在使用的USB模块)。
见这帖子。
以上链接的
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那就重新启动。
发布于 2021-05-22 07:40:12
我也面临着同样的问题,一加无线Z低音版。我的耳机麦克风没有被PulseAudio检测到,问题是我的耳机没有HSP配置文件,只有HFP配置文件。经过2天的尝试,我找到了用管道声音服务器代替PulseAudio的解决方案,它本身支持HSP、HFP和A2DP。因此,不需要安装任何其他实用程序,如ofono、phonesim。另外,需要注意的是,即使在执行了在ofono中配置PulseAudio的所有步骤之后,我的问题也没有得到解决。因此,我想出了用PipeWire替换PipeWire的步骤。
这是我为解决这个问题而写的详细文章,我在这里还添加了这些步骤。你可以遵循它,并且很可能能够解决你的问题。
打开终端并按照以下步骤操作:
我不确定,但是,如果可能的话,您也可以尝试在其他版本上运行这个程序。
systemctl --user --now enable pipewire-media-session.service如果它没有出现,那么尝试通过以下命令重新启动Pipewire:
systemctl --user restart pipewire如果安装了ofono和,还需要卸载它们:
sudo apt remove ofono
sudo apt remove ofono-phonesim如果它仍然没有显示你的麦克风,你可以尝试重新启动一次,删除和对你的蓝牙设备,以检查它现在是否工作。
我希望我帮你解决了你的问题。
如果要回滚我们所做的所有更改,可以使用:
systemctl --user unmask pulseaudio
systemctl --user --now enable pulseaudio.service pulseaudio.sockethttps://unix.stackexchange.com/questions/341776
复制相似问题