У нас проблема с нашим приложением для iOS.Одной из наших основных функций является воспроизведение аудио, и часть этого, мы автоматически проверяем в нашем приложении, подключена ли гарнитура к устройству iPhone (это может быть Bluetooth, обычная гарнитура)
В настоящее время у нас есть проблема сНа всех Bluetooth-устройствах качество звука очень низкое.Мы заметили, что с каждым устройством Bluetooth воспроизведение аудио передается по протоколу HFP.
Мы попробовали различные конфигурации для экземпляра AVAudioSession, единственная конфигурация, которая работает как с Air-pods, так и с обычными устройствами Bluetooth, является следующей
AVAudioSession *sessionInstance = [AVAudioSession sharedInstance];
NSError* theError = nil;
BOOL result = YES;
result = [sessionInstance setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionAllowBluetoothA2DP | AVAudioSessionCategoryOptionAllowBluetooth error:&theError];
if (!result)
{
NSLog(@"setCategory failed");
}
result = [sessionInstance overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:&theError];
if (!result)
{
NSLog(@"overrideOutputAudioPort failed");
}
result = [sessionInstance setActive:YES error:&theError];
if (!result)
{
NSLog(@"setActive failed");
}
Несмотря на то, что звук есть с обычными устройствами Bluetooth и Air-pods, качество звука на устройствах Bluetooth (в Air-pods звук хороший) действительно плохое.
Мы пытались изменитькатегория от воспроизведения и записи до воспроизведения только, но если мы изменим ее на воспроизведение, все устройства Bluetooth больше не будут автоматически распознаваться в нашем приложении (как в случае без звука вообще)
Хотелось бы получить идеи по этому вопросу,спасибо всем