2016-12-29 3 views
1

В настоящее время я инициализация моего AVAudioSession следующим образом:Bluetooth гарнитура создает проблемы маршрутизации на прошивке

NSError *myError = nil; 
AVAudioSession* avSession = [AVAudioSession sharedInstance];  
[avSession setCategory: AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker|AVAudioSessionCategoryOptionAllowBluetooth error: &myError]; 

Это, кажется, работает хорошо. Если я только начинаю на устройстве, мой вывод - это мой динамик. Если я подключу проводные наушники, он перенаправляет звук на наушники. Если я отключу его, он перенаправляется обратно на главный громкоговоритель. Звук когда-либо выходит из приемника. Это правильное поведение, которое я ищу.

Это также отлично работает, если я использую свои наушники (bluetooth) вместо проводных наушников.

Проблема возникает, однако, если я подключаю наушники с битами ПЕРЕД началом работы приложения. Приложение правильно выбирает их, и все в порядке, но если я отключу или отключу наушники bluetooth, звук будет перенаправлен обратно на ресивер вместо динамика.

Есть ли что-то, что я должен делать, чтобы он выполнил мой флаг AVAudioSessionCategoryOptionDefaultToSpeaker?

ответ