Какие маршруты я могу получить из свойства kAudioSessionProperty_AudioRoute?
Парень из Apple попытался быть смешным и написал в документах:
("Headphone," "Speaker," etc.)
Какие возвращаемые значения возможны в реальности?
6 ответов
Он не был смешным, это настоящие ценности. Единственное, что я видел, что он не обрисовал в общих чертах, это "LineOut"
Я запустил "строки" на платформе CoreMedia (iOS4.2 SDK), и следующие строки кажутся разумными и сгруппированы вместе:
- ReceiverAndMicrophone
- HeadsetInOut
- HeadphonesAndMicrophone
- SpeakerAndMicrophone
- HeadsetBT
- LineInOut
- По умолчанию
Команда была:
strings -a -o CoreMedia | less
# CoreMedia is from /Developer/Platforms/iPhoneOS.platform/Developer \
# /SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/CoreMedia.framework
Согласно http://lists.apple.com/archives/coreaudio-api/2009/Jan/msg00084.html есть также LineOut, HeadsetInOut, ReceiverAndMicrophone, HeadphonesAndMicrophone, но парень, который спросил, есть ли другие значения, не получил ответа.
Я только что получил MicrophoneWired от него. (У меня на самом деле есть специальное аппаратное обеспечение, которое является температурным датчиком, но мы используем его через разъем для наушников).
Тогда я получил MicrophoneBuiltIn с ничего не подключен. Это на Ipod Touch с 4.3, кстати.
Значения, предоставленные l8nite выше, зарезервированы для случаев, когда ваш аудио сеанс сконфигурирован как для ввода, так и для вывода. Другие значения используются, когда вы только выводите аудио: (Я использовал тот же трюк, что и l8nite - спасибо!)
LineOut
HeadphonesBT (используется для аудио выхода Bluetooth - заметил, что это подключено через Bluetooth к автомобильной аудиосистеме)
AirTunes (используется для вывода AirPlay)
Чем HeadphonesBT отличается от HeadsetBT? Мое приложение может успешно использовать устройство HeadsetBT для отправки и получения звука, в то время как HeadphonesBT не может ничего сделать. Это на iOs6