Since you mentioned my blog as a source, I feel like I should participate in the follow-up. I can think of a few things you should check:
1. When are you pressing volume up? Until your app is actually generating audio, the volume up and down buttons are going to adjust the ringer volume, not your app's volume. You can tell the difference because the volume heads-up display (HUD) will say "ringer".
2. You can adjust the master volume from your app by using the MPVolumeView in the MediaPlayer.framework. You could throw that in your UI temporarily to force the volume to maximum.
3. How do you know that your recorded audio has appropriately-high levels? If the source is too quiet, cranking the volume all the way up won't do much. If you're recording to the app's Documents folder, get the files out with Xcode's Organizer (or from ~/Application Support/iPhone Simulator/… if you're running on simulator), and open them with an audio editor that will let you see the waveforms (Audacity, Sound Studio, Garage Band, whatever). You'll be able to see immediately if your recorded levels are too low.
4. You're talking about output to the "speaker". Is this whole issue about playing out to the speaker rather than the receiver? You might want to search the archives for kAudioSessionOverrideAudioRoute_Speaker.
5. Related to 3 & 4: is it loud enough over headphones?
--Chris
On Jul 29, 2010, at 12:31 PM, On Lee wrote: I have a simple iPhone app using RemoteIO to record (save the samples on file) and playback on iPhone GS. It is based on SDK 3.1. It works now. But the output to the speaker is very low even after turning on the iPhone speaker to the max using the volume control on the left side of the iPhone.
|