树莓派连接蓝牙音响,并播放.mp3音频,wav音频
- 测试播放器: mplayer, mpg321,vlc aplay, paplay
- 音频渲染服务: pulse, alsa
- 蓝牙服务: bluetooth
- 安装播放器
sudo apt-get install mplayer
sudo apt-get install mpg321
- 安装音频渲染服务
sudo apt-get install alsa-base alsa-utils
sudo apt-get install pulseaudio pulseaudio-module-bluetooth
- 安装vlc
sudo apt-get install vlc
# 使用libvlc-go
#首先安装libvlc
sudo apt-get install libvlc-dev
sudo apt-get install vlc-plugin-base
sudo apt-get install vlc-plugin-video-output
- 安装蓝牙服务
sudo apt-get install bluetooth pi-bluetooth bluez bluez-firmware bluez-tools blueman libbluetooth-dev libglib2.0-dev libboost-thread-dev
sudo usermod -G bluetooth -a pi
sudo reboot
- 命令行操作蓝牙,这不用详细说明,因为百度随便一搜都是这个方法
bluetoothctl #进入蓝牙
power on
scan on
pair xx:xx:xx:xx:xx
trust xx:xx:xx:xx:xx
connect xx:xx:xx:xx:xx
exit
#注意,这里bluetoothctl会进入到另一个进程如果要在当前进程执行命令可以使用
echo "connect 18:BC:5A:BD:BD:01" | bluetoothctl
- 播放音乐
1. mplayer xx.mp3
2. mpg321 xx.mp3
3. aplay xx.wav
4. paplay xx.wav
奇怪的是,使用上面的方法,我们并没有听到声音, 因为音频渲染服务的问题
着手解决问题 检查是否安装运行了alsa或PulseAudio
pactl list
aplay -l
1. pactl list cards # 查看声卡列表
2. pactl list sources
3. pacmd help # 命令帮助
4. pacmd list-sinks #查看sink 列表
5. pacmd list-cards
6. pacmd set-default-sink 2 #设置输出设备
- 检查PulseAudio是否运行
pacmd help
如果提示:没有 PulseAudio 守护进程在运行,或者没有作为会话守护进程运行
则说明服务没有启动
- 运行PulseAudio 服务
#修改pulseaudio的空闲退出时间
sudo nano /etc/pulse/daemon.conf
exit-idle-time = -1
在root用户下输入
sudo sh -c echo “pulseaudio –start –log-target=syslog” >> /etc/environment
#添加开机自启
sudo nano /etc/rc.local
pulseaudio --start --log-target=syslog
- 可能到这里,开机后PulseAudio服务仍然是不可用的,所以我试了一下上一步设置的开机自己可以直接去掉了
#因为Pulseaudio是一个用户级别的服务所以我们在查看服务的时候应该这样子:
systemctl --user status pulseaudio.service
systemctl --user restart pulseaudio.service
systemctl --user start pulseaudio.service
# 设置当前用户 login 时启动 pulseaudio
systemctl --user enable pulseaudio
# 任意用户 login 时启动 pulseaudio
sudo systemctl --global enable pulseaudio
#修改 /usr/lib/systemd/user/pulseaudio.service
Restart=always
- 设置 amixer
sudo nano /etc/asound.conf
#添加下面的内容
defaults.pcm.card 0
defaults.pcm.device 0
defaults.ctl.card 0
- 可能用到的命令
#重装pulseaudio
sudo apt-get --purge --reinstall install pulseaudio
#查询蓝牙信息
hciconfig
#音量调机
sudo alsamixer
#检查开机自启是否成功
systemctl status rc-local
#重启rclocal
systemctl restart rc-local
#查看开机信息
dmesg
- 参考