В настоящее время я инициализация моего AVAudioSession следующим образом:Bluetooth гарнитура создает проблемы маршрутизации на прошивке
NSError *myError = nil;
AVAudioSession* avSession = [AVAudioSession sharedInstance];
[avSession setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth error: &myError];
Это, кажется, работает хорошо. Если я только начинаю на устройстве, мой вывод - это мой динамик. Если я подключу проводные наушники, он перенаправляет звук на наушники. Если я отключу его, он перенаправляется обратно на главный громкоговоритель. Звук когда-либо выходит из приемника. Это правильное поведение, которое я ищу.
Это также отлично работает, если я использую свои наушники (bluetooth) вместо проводных наушников.
Проблема возникает, однако, если я подключаю наушники с битами ПЕРЕД началом работы приложения. Приложение правильно выбирает их, и все в порядке, но если я отключу или отключу наушники bluetooth, звук будет перенаправлен обратно на ресивер вместо динамика.
Есть ли что-то, что я должен делать, чтобы он выполнил мой флаг AVAudioSessionCategoryOptionDefaultToSpeaker?