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 总线(我认为))
Emerge 或 apt-get 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]
我希望这符合您的要求。