Выход 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. Надеюсь, это поможет.