尽管已加载 Pulseaudio 模块且设备已连接,但仍无法使用蓝牙音频设备

尽管已加载 Pulseaudio 模块且设备已连接,但仍无法使用蓝牙音频设备

我已经花了好几个小时来让我的蓝牙音频设备运行起来。

  • 系统:Ubuntu 16.04 LTS Xenial,已安装所有更新,运行在联想 Y50 笔记本上

  • 设备:蓝牙接收器 MR230,带模拟音频输出。它用于连接到旧的高保真音响系统。该设备不会自动连接,但我可以bluetoothctl毫无问题地找到、配对、信任和连接它。蓝牙管理器将其显示为耳机。

  • pactl list short命令显示,模块module-bluetooth-discovermodule-bluez5-discovermodule-switch-on-connectmodule-bluetooth-policy都在运行(在我手动启动它们之后)

但是,我仍然无法选择该设备,pavucontrol因为它没有出现在那里。在这些尝试中,我可能弄乱了一些配置文件,但它应该仍然可以工作,因为所有必要的模块都已加载并且设备已连接。

有任何想法吗?

答案1

对我来说,pulseaudio 没有接收器的原因是使用hcitool而不是bluetoothctl来连接耳机。使用 时bluez5,后者是首选,前者不能保证能正常工作。

但即使有pavucontrol可选择的接收器也没有声音。我当然听到了接收器睡眠和非暂停转换之间的噪音水平变化,但最终仍然没有声音真正播放(接收器未静音且音量最大)。此外,pulseaudio 拒绝使用 A2DP 配置文件,称module-bluez5-device.c: Profile 'a2dp' not valid or not supported by device尽管bluetoothctl <<< "info 00:11:22:33:44:55"清楚地列出了音频接收器UUID 0000110b-0000-1000-8000-00805f9b34fb。因此 PA 使用 HSP/HFP 或其他什么,这意味着硬编码 8kHz 单声道


最后,我是如何工作 A2DP在 Ubuntu 16.04.1 上pulseaudio 9.0从源代码编译。非常可预测的构建;对于那些了解一些编译的人来说,这是一个简短的记录:

git clone --branch master git://anongit.freedesktop.org/pulseaudio/pulseaudio \
    && cd pulseaudio
./autogen.sh
./configure \
  --enable-bluez5 \
  --enable-bluez5-native-headset \
  --with-speex \
  && make -sj3

只需找到apt install那些-dev包并configure请求即可。make花费约 100 秒完成。

然后进行快速就地测试:

echo 'autospawn=no' > ~/.config/pulse/client.conf; killall pulseaudio

src/pulseaudio --daemonize=no --log-level=info -F /etc/pulse/default.pa

至此我已经让它工作了。

$ src/pulseaudio --version
pulseaudio 9.0-129-gf7b8

最后,我会将其打包成一个.deb,通过系统范围安装dpkg -i并撤消autospawn=no更改。

答案2

我发现这个答案这里作者:路易斯·加尼翁

永久的解决方案是添加 blueman PPA 并将你的软件包更新到已修复错误的最新版本:https://launchpad.net/~blueman/+archive/ubuntu/ppa

sudo add-apt-repository ppa:blueman/ppa
sudo apt-get update
sudo apt-get upgrade

这样,您就不必再运行

sudo -i pactl load-module module-bluetooth-discover

每次都执行命令,但只执行一次。对我而言,14.04 LTS (Trusty) 有效

来源:http://www.lxle.net/forums/discussion/503/how-to-sink-audio-a2dp-to-your-bluetooth-headset/p1

相关内容