|
本帖最后由 KleinerSource 于 2017-10-3 23:53 编辑
最近想研究tts就从公司拿了个蓝牙音箱回来折腾.
发现 linux上连接蓝牙 简直麻烦.
尝试了 DSM6 发现极其简单. 可是 不知道为什么 凡是在docker下 跑的ha 总是卡在 小米网关连不上的问题..
于是放弃了 docker的念头 老老实实直接配.
坛子里的蓝牙教程 数量也不多 还有权限. 咱也看不到 . 自己折腾把.
我是用的ubuntu来做的 首先装好 ubuntu 然后把蓝牙适配器给插上.
系统装好后 直接用终端配置也行 要用ssh也行.
我不喜欢搞linux的图形界面 就全命令来处理了.
1. 系统更新 sudo apt update && sudo apt upgrade -y
2. 安装 blueman, sudo apt install blueman -y
3. 开始配置蓝牙设备 sudo bluetoothctl 打开蓝牙配置程序
4. 接下来按照步骤走 power on 开启蓝牙
5. scan on 扫描蓝牙设备 (此时命令行会显示出扫描出的蓝牙设备的 mac地址和名称,找到需要连接的蓝牙设备)
6. pair xx:xx:xx:xx:xx:xx (mac地址 全大写) 配对
7. trust xx:xx:xx:xx:xx:xx (mac地址 全大写) 信任设备
8. connect xx:xx:xx:xx:xx:xx (mac地址 全大写) 连接设备
此时应该能够听到 蓝牙音箱连接成功的声音.
然后 exit 退出蓝牙配程序
但是这个时候音箱是不能播放音乐的. 还需要做其他操作
9. pulseaudio --start 然后 pacmd ls (这2个命令不能运行在root权限下)此时会在终端里出现很多类似以下字符串的内容.
index: 0
name: <bluez_card.xx_xx_xx_xx_xx_xx>
driver: <module-bluez5-device.c>
owner module: 26
properties:
device.description = "BS-01"
device.string = "xx:xx:xx:xx:xx:xx"
device.api = "bluez"
device.class = "sound"
device.bus = "bluetooth"
device.form_factor = "headset"
bluez.path = "/org/bluez/hci0/dev_xx_xx_xx_xx_xx_xx"
bluez.class = "0x242404"
bluez.alias = "BS-01"
device.icon_name = "audio-headset-bluetooth"
device.intended_roles = "phone"
在内容中 找到你的蓝牙音箱mac地址 name: <bluez_card.xx_xx_xx_xx_xx_xx> 或者 设备名称 device.description = "BS-01"
然后记住他前面的 index: 0 这里我的是0
然后接下来
10. pacmd set-card-profile 0 a2dp_sink
然后装个播放器试试? sudo apt install mplayer -y
mplayer /home/test.mp3
是不是出声了??
(如果pacmd ls中找不到你的蓝牙音箱的话, 可以 reboot一下 然后再重新sudo bluetoothctl 然后 connect xx:xx:xx:xx:xx:xx 连接音箱(以后每次开机只需要连接一次即可 之前的操作无需重复)
至于开机自动连接音箱的方法我还在测试.
|
|