Как настроить приложение ios для воспроизведения музыки как для устройств A2DP, так и для HFP Bluetooth

У нас есть проблема с нашим приложением для 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 больше не будут автоматически распознаваться в нашем приложении (как, например, при отсутствии звука).

Хотелось бы за идеи по этому вопросу, спасибо всем

0 ответов

Другие вопросы по тегам