title: Setting kAudioSessionMode in Apple's SpeakHere example causes big drop in volume. Any workarounds?
body: <p>I've been having a problem with audio being too low in my own app any time I use the VoiceChat mode, so as an idiot-check I downloaded Apple's sample code for Audio Unit programming (SpeakHere) and added VoiceChat mode to that app. As it turns out, the problem happens there, too: running in that mode causes everything to be around 20% of the desired volume.</p>
  
  <p>I added this code on line 267 of SpeakHereController.mm, right after the PlayAndRecord category is set:</p>
  
  <pre><code>    // set mode -- this results in audio being too soft
      UInt32 mode = kAudioSessionMode_VoiceChat;
  
      error = AudioSessionSetProperty(kAudioSessionProperty_Mode, sizeof(mode), &amp;mode);
      if (error) printf("couldn't set audio session mode!");
  </code></pre>
  
  <p>I'm using VoiceChat mode with RemoteIO in order to get echo cancellation for speakerphone usage; VoiceProcessingIO works (sort of), but performance on older iPhones (3GS) is so bad it's unusable -- that's why I'm using RemoteIO instead. I have confirmed that the speaker route is correct. I've even tried setting Measurement mode and manually increasing the gain -- I can't detect any improvement.</p>
  
  <p>Any suggestions on preventing the big volume drop-off when using AudioSession modes?</p>