我正在尝试将声音从我的树莓派3播放到蓝牙扬声器,但它不起作用。
pi连接到蓝牙扬声器(当它连接时,扬声器上的自动音频确认,“raspberrypi已连接”,并检查echo“info 04:52: C7:5A:3B: A1”|pi上的Bluetoothctl
也显示它已连接)。
扬声器音量没有静音,其他设备可以连接到它并通过它播放。检查< code>alsamixer验证音频未静音。
但是,使用aplay通过蓝牙扬声器播放声音只会导致震耳欲聋的沉默。虽然它看起来有效:
$ aplay -D bluealsa:HCI=hci0,DEV=04:52:C7:5A:3B:A1,PROFILE=a2dp /usr/share/sounds/alsa/Front_Center.wav
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
我已经寻找了可能包含信息的日志文件,但没有找到任何东西。
我是按照这里的说明设置的。该设置的详细信息如下:
/etc/dbus-1/system.d/bluetooth。conf
已编辑,以下行添加到root
element:
我尝试过将 HCI、设备和配置文件详细信息移动到 .asoundrc 和 /etc/asound.conf 文件中,但这些文件会产生相同的结果(控制台输出表明成功,但当我使用 aplay 时扬声器没有声音)。
sudo systemctl status blue to*
在蓝牙服务上显示错误消息:设置隐私失败:拒绝(0x0b)
,显然是与启动相关的问题(链接),通过在启动后使用systemctl手动重新启动蓝牙服务来修复(难看,但目前可以作为解决方法).
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CLIP, value:1
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: CMD: command:+CLCC, value:(null)
Nov 10 21:02:16 rpi_3e5ccf bluealsa[789]: /usr/bin/bluealsa: Unsupported AT message: SET: command:+CSRSF, value:0,0,0,1,0,0,0
最终,我无法调试它并且变得不耐烦,所以只需擦除SD并从头开始。我遵循的详细步骤如下,这意味着我现在可以使用aplay播放音频而无需指定设备,例如:
aplay /usr/share/sound/alsa/Front_Center.wav
1) 设置 SD 卡映像
2) ssh-copy-id从主机到pi,用于方便的ssh
3)在pi上设置软件:
密码
sudo apt更新;sudo-apt-dist升级
sudo apt安装vim git屏幕htop rpi更新
sudo apt自动删除
sudo systemctl设置默认多用户。target#启动时不启动X窗口
sudo BRANCH=下一次rpi更新
sudo重启
4) 更新bluez
< li>sudo apt安装libdbus-1-dev libglib 2.0-dev libudev-dev libic al-dev libreadline-dev
< Li > < code > wget http://www . kernel . org/pub/Linux/bluetooth/bluez-5.50 . tar . xz
tar-xf bluez-5.50 . tar . xz ` < Li > < code > CD bluez-5.50/ < li > <代码>。/configure-prefix =/usr-mandir =/usr/share/man-sysconfdir =/etc-localstatedir =/var-enable-experimental < li>
make -j4
< Li > < code > sudo make install < Li > < code > sudo CP/etc/dbus-1/system . d/bluetooth . conf/etc/dbus-1/system . d/bluetooth . conf . bak ,然后编辑: < ul > < li >添加到< code >根目录:
5)让蓝牙正常工作
sudo adduser pi 蓝牙
苏多重启
- 蓝牙:
扫描开启
- 蓝牙:
信任 04:52:C7:5A:3B:A1
- 蓝牙:
连接 04:52:C7:5A:3B:A1
APLAY -D 蓝色阿尔萨:HCI=hci0,DEV=04:52:C7:5A:3B:A1,配置文件 =a2dp /usr/共享/声音/阿尔萨/Front_Center.wav # 测试它根本有效
6)通过创建以下/etc/asound.conf文件,无需指定设备即可让蓝牙工作:
pcm.bose {
type plug
slave {
pcm {
type bluealsa
interface hci0
device 04:52:C7:5A:3B:A1
profile "a2dp"
}
}
hint {
show on
description "Bose speaker"
}
}
pcm.!default {
type plug
slave.pcm "bose"
}
ctl.!default {
type hw
card 0
}
作为参考和信用,这是基于以下三个来源的信息:
链接
链接
链接
作为对@Parthiban上述评论的回复,以下是当前工作系统的dbus监视器输出:
signal time=1541964336.104905 sender=org.freedesktop.DBus -> destination=:1.1 serial=2 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string ":1.1"
signal time=1541964336.105032 sender=org.freedesktop.DBus -> destination=:1.1 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameLost
string ":1.1"
method call time=1541964336.106756 sender=:1.0 -> destination=org.freedesktop.DBus serial=3 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=RequestName
string "org.freedesktop.systemd1"
uint32 7
signal time=1541964336.106880 sender=org.freedesktop.DBus -> destination=(null destination) serial=5 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string "org.freedesktop.systemd1"
string ""
string ":1.0"
signal time=1541964336.107024 sender=org.freedesktop.DBus -> destination=:1.0 serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameAcquired
string "org.freedesktop.systemd1"
method return time=1541964336.107096 sender=org.freedesktop.DBus -> destination=:1.0 serial=5 reply_serial=3
uint32 1
method call time=1541964336.108116 sender=:1.0 -> destination=org.freedesktop.DBus serial=4 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=ListNames
method return time=1541964336.108179 sender=org.freedesktop.DBus -> destination=:1.0 serial=6 reply_serial=4
array [
string "org.freedesktop.DBus"
string "org.freedesktop.systemd1"
string ":1.0"
]
我正在做一个涉及iOS和蓝牙耳机的个人项目,我遇到了一些问题。我想实现的是一种使用蓝牙的对讲机应用程序。我希望能够连接到蓝牙耳机,并使用内置扬声器播放来自其麦克风的音频。 我已经成功使用蓝牙连接到耳机,但我无法将音频重定向到设备的扬声器。每当我连接并且音频会话首选输入设置为蓝牙耳机时,音频将通过耳机播放,而不是通过扬声器。 如果有人能给我指出正确的方向,甚至给我一些示例代码,那就太棒了。 页(pa
我用Cordova(7.1.0)构建了一个音乐web应用程序,我使用web音频API来管理声音。我的问题是: 如何检查播放机选择的音频源?内置音频与蓝牙音频。 例如,在iPhone上,在玩游戏时,我可以选择通过设备扬声器(内置扬声器)直接播放声音,也可以切换到蓝牙扬声器。当用户从一种模式切换到另一种模式时,如何通过JavaScript进行检查? 我发现了一个关于监听耳机状态(插入或未插入)的Cor
在Raspberry PI上运行一个简单程序。当连接到带有扬声器的显示器时,我可以通过HDMI扬声器听到声音。但是,我想让语音通过蓝牙音箱输出。当我播放一些音频文件时,连接的蓝牙扬声器会播放,但当我运行FreeTTS程序时,声音通过HDMI音频输出,或者当无头且仅连接到蓝牙扬声器时,根本没有输出。我想可能是它试图通过一些默认的音频播放,因为它通过HDMI扬声器播放,即使在音频菜单中选择了蓝牙...
蓝牙是一个使用广泛的无线通信协议,这两年又随着物联网概念进一步推广。我将介绍蓝牙协议,特别是低功耗蓝牙,并用树莓派来实践。树莓派3中内置了蓝牙模块。树莓派通过UART接口和该模块通信。树莓派1和树莓派2中没有内置的蓝牙模块,不过你可以通过USB安装额外的蓝牙适配器。 蓝牙介绍 蓝牙最初由爱立信创制,旨在实现可不同设备之间的无线连接。蓝牙无线通信的频率在2.4GHz附近,和WiFi一样,都属于特高频
所需功能: 它有点像iPhone本机手机应用程序。当有蓝牙/耳机连接到iPhone时,扬声器按钮(通常只有扬声器/手机切换)将显示所有可用的音频输出设备。默认使用蓝牙。用户可以选择其他设备播放声音。 问题: > 如何更新路由并将音频输出设置为所选设备? 请注意,AudioSessionGetProperty AND AudioSessionSetProperty的现有解决方案可能并不理想,因为iO
音频输出到脉冲音频和HDMI? 在我的船上,树莓派3 B巴斯特有两种用途: 它运行Kodi播放通过蓝牙输出到汽车收音机的音乐,该收音机输出到扬声器。(花了两天的时间才让它发生,终于找到了 https://peppe8o.com/fixed-connect-bluetooth-headphones-with-your-raspberry-pi/) 它还播放输出到带有扬声器的HDMI投影仪的电影。 P