Вход AudioSession с выхода Bluetooth на линейный выход или динамик
После настройки аудио сеанса следующий код разрешает ввод через Bluetooth.
UInt32 allowBluetoothInput = 1;
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoothInput);
Этот код выглядит так, как будто он позволяет только ввод через Bluetooth, однако этот код также направляет вывод звука на устройство Bluetooth (в случае гарнитуры Bluetooth). Я хотел бы направить аудиовыход из линейного выхода или динамика, когда вход поступает от устройства Bluetooth. Я просто хочу получить аудио вход от устройства Bluetooth, я не хочу выводить звук через Bluetooth.
Возможно ли такое поведение?
1 ответ
С iOS 5 такое поведение невозможно, цитируя Apple техподдержка
Устройства Bluetooth не являются устройствами "Jacked In" и, следовательно, любая другая аудио-маршрутизация должна быть выбрана пользователем и не может быть изменена в коде. Для этого вы можете использовать функциональность MPVolumeView, которая будет иметь дополнительный видимый виджет маршрутизации, позволяющий пользователю указать маршрутизацию вывода.
В списке рассылки Core Audio есть более старая тема, касающаяся этой функции, но поведение не изменилось:
http://lists.apple.com/archives/coreaudio-api/2009/Oct/msg00030.html
MPVolumeView ссылка:
Однако MPVolumeView не позволяет вам направлять ввод и вывод независимо.