IOBluetoothHandsFreeDevice audio static
Я пытаюсь реализовать профиль громкой связи Bluetooth под OS X 10.10 с помощью IOBluetoothHandsFreeDevice. Я могу подключиться и управлять своим iPhone 6 под управлением iOS 8.2 без проблем.
Каждая первая попытка сделать или принять звонок (или использовать Siri) приводит к тому, что статический шум передается с моего телефона на мой компьютер вместо звука. Статика не кажется абсолютно случайной, поскольку она синхронизируется со звуком, который я ожидаю услышать (например, мелодия вызова и т. Д.). Однако звук с моего Mac на мой iPhone кристально чистый.
После первоначального статического аудиовызова повторный вызов с использованием того же соединения дает результаты 50/50, половина вызовов совершенна, а другая половина статична.
Вот основной код:
IOBluetoothDevice* device = ...;
_hfDevice = [[IOBluetoothHandsFreeDevice alloc] initWithDevice:device delegate:self];
uint32_t supportedFeatures = _hfDevice.supportedFeatures;
supportedFeatures |= IOBluetoothHandsFreeDeviceFeatureEnhancedCallStatus;
supportedFeatures |= IOBluetoothHandsFreeDeviceFeatureEnhancedCallControl;
supportedFeatures |= IOBluetoothHandsFreeDeviceFeatureCLIPresentation;
[_hfDevice setSupportedFeatures:supportedFeatures];
[_hfDevice connect];
// after connected delegate method...
// dial a phone number
const NSString* phoneNumber = @"...";
[_hfDevice dialNumber:phoneNumber];
// or activate siri
const NSString* activateSiri = @"AT+BVRA=1";
[_hfDevice sendATCommand:activateSiri];
Я ожидаю, что я что-то упускаю из виду, но документация Apple по их Bluetooth-коду не содержит примеров создания приложений для громкой связи. У кого-нибудь еще был такой опыт?