Есть много статей о том, как определить, подключен ли микрофон к iPod touch G2 через AudioSessionGetProperty / kAudioSessionProperty_AudioInputAvailable , но я не видел статей, связанных с обнаружением наушников подключен к iPod touch G1.
Для обзора:
Аппаратное обеспечение iPod touch G2 отличается от аппаратного обеспечения iPod touch G1 в следующих отношениях:
- iPod touch G2 имеет встроенный динамик
- iPod touch G2 может использовать микрофон от порта наушников
У меня есть приложение, которое должно воспроизводить звук, чтобы быть полезным, и я хочу быть хорошим, и у меня есть детектор, который показывает, что приложение полезно после подключения некоторых наушников.
Мои первоначальные испытания показывают, что API-интерфейсы AudioSession (и, в частности, AudioSessionGetProperty с константой kAudioSessionProperty_AudioRoute ) всегда выдают «Headphone», даже если наушники не подключены к iPod touch G1 .
Я что-то упустил? У меня есть что-то перекрестное с моими вызовами AudioSession? Если кто-нибудь пробовал это на iPod touch G1 и получил другой результат? Есть ли другой способ прорубить AudioSession API и получить то, что мне нужно?
Это все против iPhone OS 3.0 и iPhone OS 3.0 SDK на реальном оборудовании iPod touch G1.
Заранее спасибо,
--Batgar