Выход iOS 7 Bluetooth не работает для AVAudioSessionCategoryPlayAndRecord

В моем приложении, если iPhone подключен к гарнитуре Bluetooth, воспроизводите звук через Bluetooth. Еще используйте динамик по умолчанию.

Вот мой код

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];
[[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error:nil];
[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil];
[[AVAudioSession sharedInstance] setActive:YES error:nil];

Тем не менее, когда я попытался использовать категорию setCategory:AVAudioSessionCategoryPlayAndRecord. Перестал работать роутер на блютус устройство.. Не знаю почему. Потому что по праву опция bluetooth должна работать только для категории Record или PlayAndRecord...

/ * допустимо только для AVAudioSessionCategoryRecord и AVAudioSessionCategoryPlayAndRecord */

Дополнение: Могу ли я иметь Bluetooth только для выхода (вход по-прежнему использует микрофон по умолчанию с телефона)?

ОБНОВИТЬ

Я изменил порядок, сначала вызвав setMode, а затем setCategory. Работает впервые, запустив приложение (звонок). Когда я снова попытался сделать то же действие, currentRoute все равно дал мне выход = Bluetooth, но фактический выход возвращается к фронтальной колонке телефона по умолчанию.

1 ответ

Решение

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

Я добавил код в библиотеку Jawbone AudioSessionManager. Надеюсь, это поможет.

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