audio - iPhone AudioSession properties -


i'm developing app should have following properties regarding audio:

  1. can record , play sound @ same time
  2. can mix audio output other app, e.g. ipod
  3. audio output @ speaker when earphone not plugged in
  4. audio output @ earphone when plugged in

i used following code.

avaudiosession *audiosession = [avaudiosession sharedinstance]; nserror *audiosessionerror; [audiosession setcategory:avaudiosessioncategoryplayandrecord error:&audiosessionerror];  uint32 mix = 1; audiosessionsetproperty(kaudiosessionproperty_overridecategorymixwithothers, sizeof(mix), &mix);  uint32 route = kaudiosessionoverrideaudioroute_speaker; audiosessionsetproperty(kaudiosessionproperty_overrideaudioroute, sizeof(route), &route);  [audiosession setactive:yes error:&audiosessionerror]; 

however, can achieve 1-3 failed @ 4. when earphone plugged in, audio still comes through speaker. tried setting kaudiosessionproperty_overridecategorydefaulttospeaker instead of kaudiosessionproperty_overrideaudioroute, resulted pausing ipod instead of mixing both audio. please pointing out what's wrong above code?

thanks help.

i think this:

uint32 route = kaudiosessionoverrideaudioroute_speaker; audiosessionsetproperty(kaudiosessionproperty_overrideaudioroute, sizeof(route), &route); 

specifically means use speaker. default action (to use headphones when plugged in) should be:

    uint32 route = kaudiosessionoverrideaudioroute_none; 

Comments

Popular posts from this blog

windows - Why does Vista not allow creation of shortcuts to "Programs" on a NonAdmin account? Not supposed to install apps from NonAdmin account? -

c++ - How do I get a multi line tooltip in MFC -

unit testing - How to mock PreferenceManager in Android? -