Вы можете сделать это в iOS 5 со свойствами:
kAudioSessionProperty_InputSource
kAudioSessionProperty_OutputDestination
Для возможных значений (какие источники \ места назначения доступны на устройстве) используйте AudioSessionGetProperty со свойствами:
kAudioSessionProperty_InputSources
kAudioSessionProperty_OutputDestinations
Для iOS 3.1+ я предполагаю, что вы используете категорию аудио-сеанса PlayAndRecord - вы можете попробовать установить для kAudioSessionProperty_OverrideCategoryDefaultToSpeaker значение true. Например,
UInt32 defaultToSpeaker = 1;
status = AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
sizeof (defaultToSpeaker),
&defaultToSpeaker
);
Может быть не совсем то, что вы ищете, но я не думаю, что вы можете приблизиться в