Сохраняйте звук Bluetooth при инициализации AVAudioSession

Я собираюсь сойти с ума.

У меня есть приложение для записи. У меня проблема с тем, что при открытии приложения, если я слушаю музыку на устройстве Bluetooth, оно автоматически перенаправляется обратно на внутренний динамик телефона.

Я хочу, чтобы все оставалось прежним, несмотря ни на что. Даже когда я начинаю запись, если пользователь что-то слушает через динамик Bluetooth, продолжайте делать это. У пользователя есть наушники? Держи музыку там. Просто оставь все как есть.

Вот как я сейчас инициализирую свою сессию:

[[AVAudioSession sharedInstance]
    setCategory:AVAudioSessionCategoryPlayAndRecord
    withOptions:AVAudioSessionCategoryOptionMixWithOthers | AudioSessionCategoryOptionAllowBluetooth
    error: nil];

Я позволяю ему воспроизводить, записывать, микшировать с другими и разрешать Bluetooth, так почему же он перенаправляет аудиовыход обратно на внутренний динамик ???

Спасибо

РЕДАКТИРОВАТЬ 30 мая

Мне удалось получить что-то лучше, но все еще чего-то не хватало.

Если я добавлю эту строку:

[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil];

Музыка остается в устройстве Bluetooth, но это звучит ужасно.

Согласно этому ответу:https://stackoverflow.com/a/18541874/517688 это потому что

EnableBluetoothInput влияет на вход и выход в соответствии с этим. Также помните, что звук будет воспроизводиться с частотой 8000 Гц из-за ограничений устройств ввода Bluetooth

Таким образом, при использовании устройства Bluetooth не существует способа сохранить все без изменений в звуке.

Ответы на вопрос(2)

Ваш ответ на вопрос