I have written an application, need to play the real-time audio, and to play the sound from the microphone, for this, do the following:
Step 1: Initialize
Audiosessioninitialize (Null,null, NULL, self);
Step 2: Must be set to ensure microphone mode is successful
UInt32 sessioncategory = Kaudiosessioncategory_playandrecord;
Audiosessionsetproperty (kaudiosessionproperty_audiocategory, sizeof (sessioncategory), &sessioncategory);
STEP3: Setting the microphone mode
UInt32 Audioroute = Kaudiosessionoverrideaudioroute_speaker;
Osstatus result = Audiosessionsetproperty (Kaudiosessionproperty_overrideaudioroute, sizeof (Audioroute),& Audioroute);
Attention:
In IPhone4 (iOS6.1.2),
Kaudiosessionnotinitialized error will occur without STEP1,
Kaudiosessionincompatiblecategory error will occur without STEP2.
Without Step1 or STEP2, errors can also occur in IPhone5 (iOS7), except that the error code actually differs from IPhone4 (iOS6.1.2).
However, after Step1, STEP2, Step3 settings, iPhone4 and IPhone5 can be set successfully.