我正在尝试在 OS X 10.8.2 上使用IOBluetooth framework
来连接模拟计算机作为免提设备的蓝牙手机。我可以成功与手机建立连接,手机可以将连接识别为连接到手机的HandsFree。
但是当我尝试使用手机拨打电话并想要将音频发送到mac(通过选择来源作为免提)时,音频永远不会到达计算机。
此时蓝牙框架试图用设备打开SCO Audio connection
,但连接建立从未成功,我在scoConnectionOpened状态下得到错误代码0x0D
状态代码。
我正在使用IOBluetoothAddSCOAudioDevice
功能将SCO音频设备连接到蓝牙设备,并且它总是成功的。
//btDevice is paired
res=IOBluetoothAddSCOAudioDevice((IOBluetoothDeviceRef) btDevice,NULL);
if(res != kIOReturnSuccess)
{
self.error.title = [NSString stringWithFormat:
@"Could not attach the Audio device. Try paring device again"];
}
控制台日志说
24/11/2012 4:02:13.000 PM kernel [0]:[SendHCIRequestFormatted] ### 错误:[0x0428](设置同步连接) - 发送请求失败 (err = 0x000D(kBluetoothHCIErrorHostRejectedLimitedResources))
24/11/2012 4:02:13.000 PM内核[0]:REQUIRE_NO_ERR失败:0xd - 文件: /SourceCache/IOBluetoothFamily_kexts/IOBluetoothFamily-4090.4.33/Core/Family/Drivers/IOBluetoothSCOAudioDriver/IOBluetoothSCOAudioDevice.cpp:872
虽然控制台日志显示资源有限,但我已尝试使用多个电池充满电池。
我对此感到困惑,只是想我是否需要做任何特殊或不同的事情?
提前感谢您的帮助。
答案 0 :(得分:1)
当T2请求被发送到仅T1的SCO侦听器时,通常会发生此错误(“由于受限资源而拒绝连接”)。如果您阅读了第5版的补丁说明,则可以讨论此问题linux-bluetooth v5 patch notes