Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Audio Session Services: kAudioSessionProperty_OverrideAudioRoute with different routes for input & output

I'm messing around with Audio Session Services. I'm trying to control the audio routes setting AudioSessionSetProperty: kAudioSessionProperty_OverrideAudioRoute as kAudioSessionOverrideAudioRoute_Speaker.

The problem is that it changes the route both for input and output. What I want is to have input set from headset's mic, and output by speakers.

Any ideas?

Ty!

like image 949
Martha Avatar asked May 18 '11 17:05

Martha


1 Answers

You can do this in iOS 5 with the properties:

kAudioSessionProperty_InputSource 
kAudioSessionProperty_OutputDestination 

For the possible values (what sources \ destinations are available on the device) use AudioSessionGetProperty with the properties:

kAudioSessionProperty_InputSources
kAudioSessionProperty_OutputDestinations

For iOS 3.1+, I assume you're using the PlayAndRecord audio session category - you might want to try setting kAudioSessionProperty_OverrideCategoryDefaultToSpeaker to true. For instance,

UInt32 defaultToSpeaker = 1;
status = AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,                        
                                sizeof (defaultToSpeaker),                                   
                                &defaultToSpeaker                               
                                );

Might not be exactly what you're looking for, but I don't think you can come closer in < iOS 5.

like image 91
gf1223 Avatar answered Oct 12 '22 23:10

gf1223