当前位置:   article > 正文

树莓派连接蓝牙音响并播放音频

树莓派连接蓝牙音响并播放音频

前提准备

默认已经完成树莓派系统的烧录及更新

打开命令窗执行以下指令安装蓝牙相关包

sudo apt-get install pi-bluetooth bluez bluez-firmware blueman
  • 1

方式一:通过桌面图形界面连接(播放有坑)

让树莓派先连接显示器,再外接鼠标键盘或者通过VNC之类的软件远程控制树莓派。具体方法网上有很多这里就不细说了。
然后找到蓝牙标识,左键添加设备即可。在这里插入图片描述
之后在旁边的小喇叭处右键,选择蓝牙音响作为播放设备,之后就可以使用蓝牙音响作为输出了
在这里插入图片描述
坑!!!!
我选蓝牙音响做输出时,蓝牙会先断开然后再连上,但是不能作为音频播放设备。
出现上述问题时,直接把蓝牙断开,然后直接选择蓝牙音响作为输出,树莓派会自动连接蓝牙音响,然后把蓝牙音响作为音频设备输出。如下图
在这里插入图片描述
在这里插入图片描述

方式二:通过命令窗连接(有坑)

首先输入以下指令进入蓝牙控制命令

sudo bluetoothctl
  • 1

然后输入以下指令

power on
  • 1

再输入

agent on
  • 1

此时蓝牙已经准备好了,输入以下指令,开始搜索设备

sacn on
  • 1

找到蓝牙音响对应的地址,类似 A0:9F:B2:C4:99:2C
然后输入以下指令进行连接

pair A0:9F:B2:C4:99:2C
trust A0:9F:B2:C4:99:2C
connect A0:9F:B2:C4:99:2C
  • 1
  • 2
  • 3

连接成功后会显示出蓝牙设备的名称,然后exit退出就行,如下图

[京鱼座蓝牙小蛮腰]# exit
  • 1

第二次连接

#进入蓝牙指令
sudo bluetoothctl
#查看已连接过的设备
devices
#找到对应的地址然后直接连接
connect A0:9F:B2:C4:99:2C
连接成功后退出即可
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

坑1:
有时候2次连接会失败,如:Failed to connect: org.bluez.Error.Failed,我找了网上很多解决办法都没解决,最后找到的方法是先播放了一个音频文件,再按二次连接的方法就连上了,不知道是什么奇怪的bug。
具体方法如下:

#include "stdlib.h"
#include <stdio.h>
void main(){
  //xxx是你音频文件的名字
  system("play xxx.mp3");
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

编译一个类似的.c文件,然后每次连接前执行一下就好
如果无法播放,则安装以下2个包即可

sudo apt-get install sox
sudo apt-get install libsox-fmt-all
  • 1
  • 2

坑2:蓝牙音响连上后,无法作为音频输出设备
我没找到命令窗下如何把蓝牙音响设为音频输出的指令,所以找了个简单粗暴的办法,把HDMI和AV Jack这两个输出都关了,蓝牙音箱连上就是默认输出设备。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/953871
推荐阅读
相关标签
  

闽ICP备14008679号