Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅关注editing this post一个问题。

6年前关闭。



Improve this question




说明:

我有一个带有蓝牙功能的小型内部设备。目前,其他设备已连接到该设备。我们在盒子里播放音乐,并通过蓝牙在连接的设备上播放音乐。我们用
“aplay -D btheadset”命令播放音乐。

要求:
我想知道 sco loopback 吗?以及如何检查我的蓝牙是否支持它?

我的调查:
我所知道的是,我们可以通过SCO链接或ACL播放音乐。我如何确定其SCO?我没有任何关于回送的想法。

附加信息:
该应用程序使用Bluez libraires将命令发送到固件/硬件,我们广泛使用HCItool。

操作系统:
软呢帽。

任何帮助将对我们有益。
谢谢

最佳答案

SCO代表面向同步连接的。 SCO链接最初是为音频而设计的,并为数据包到达提供了专用的时隙。这就是使其适合音频的原因(请记住-BT是基于数据包的传输)。

为了更好地描述,SCO Loopback是一种向自身播放音频的设备。从本质上讲,我怀疑这样做是否可行。但是,我认为您想要的是SCO链接。

现在,当设备启动与另一设备的SCO连接时,它必须首先通过发送ACL数据包来启动连接。这是为了使两个设备相互了解。

ACL是面向主从的。这意味着任何设备都不会期望任何特定帧中的数据包。

现在,关于确保在SCO模式下播放:
很有可能已经是了。现在,我们使用的是更高质量的音频,BT设备已变得非常依赖固定间隔的固定数据包流。 SCO链接是确保这一点的好方法。

编辑:This是对SCO的测试。任何不支持它的设备都将被跳过。
Edit2:在Fedora中,禁用<*>SCO links support (CONFIG_BT_SCO)(对不起,我不知道Fedora中的参数要禁用),然后查看您的工作设备现在是否出现故障。

至于在设备之间传递音频文件,设备是否能够播放自己的音频?如果是这样,请将其安装为USB设备(请记住,蓝牙使用USB总线(我认为))

出现或易于获取bluez-utils和obexfs。应该将所有其他库作为依赖项。

#emerge bluez-utils obexfs

像这样修改/etc/bluetooth/hcid.conf
options {
autoinit yes"
security user
pairing multi
pin_helper /usr/bin/bluepin
}
device {
name testname
class 0x3e0100
iscan enable
pscan enable
lm accept
lp rswitch,hold,sniff,park
}

加载模块:
# modprobe fuse
# modprobe bluetooth
# modprobe ehci-hcd
# modprobe uhci-hcd
# modprobe hci_usb
# modprobe l2cap
# modprobe rfcomm

激活BT,启动并获取设备的MAC
# echo enable >/proc/acpi/ibm/bluetooth
# /etc/init.d/bluetooth start
# hcitool scan

并安装您的设备:
# mkdir /mnt/player
# mount -t fuse "obexfs#-b<MAC address> -B6" /mnt/player

如果您想要一个更加用户友好的界面,请尝试启动kbtobexclient并在位置中obex://[00:01:02:03:04:05]
我希望这符合您的要求。

10-07 22:46