Я пытаюсь использовать IOBluetooth framework
в OS X 10.8.2 для подключения к телефонам с поддержкой Bluetooth, эмулирующим компьютер в качестве устройства громкой связи. Я могу успешно установить соединение с телефоном, и телефон может распознать соединение как HandsFree, подключенное к телефону. Но когда я пытаюсь позвонить с телефона и хочу отправить звук на Mac (выбрав источник как громкую связь), звук никогда не достигает компьютера.
Поскольку в этот момент структура Bluetooth пытается открыть SCO Audio connection
с устройством, но установление соединения никогда не удается, и я получаю код ошибки 0x0D
в статусе scoConnectionOpened.
Я использую функцию IOBluetoothAddSCOAudioDevice
для подключения аудиоустройства SCO к устройству Bluetooth, и это всегда успешно.
//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 ядро[0]: [SendHCIRequestFormatted] ### ОШИБКА: [0x0428] (Настройка синхронного соединения) -- Ошибка отправки запроса (ошибка = 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
Хотя в журнале консоли говорится об ограниченных ресурсах, я пробовал это на нескольких телефонах с полностью заряженными батареями.
Я в тупике и просто думаю, нужно ли мне делать что-то особенное или другое?
Заранее спасибо за очень ценную помощь.