audio - iPhone AudioSession properties -
i'm developing app should have following properties regarding audio:
- can record , play sound @ same time
- can mix audio output other app, e.g. ipod
- audio output @ speaker when earphone not plugged in
- 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
Post a Comment