iPhone SDK Application Development by Unknown

iPhone SDK Application Development by Unknown

Author:Unknown
Language: eng
Format: epub


6.5.3. Sound Buffers

A sound buffer contains sound data from the microphone while it is in transit to your application (the output device). Going back to our box-on-a-conveyor-belt concept, the buffer is the box that carries your sound between the microphone and your callback function. If the iPhone can't provide enough sound in the pipeline, you may end up with gaps or skipping in your recording. The more boxes you have, the more sound you can queue up in advance to avoid running out (or running slow). The downside is that it also takes longer for the sound at the microphone end to catch up to the sound going into the application. This could be problematic if you are writing a voice synthesizer or other type of application that requires close to real-time sound.

When recording is ready to start, sound buffers are created and placed on the audio queue. The minimum number of buffers needed to start a recording queue on an Apple desktop is only one, but on the iPhone it is three. In applications that might cause high CPU usage, it may be appropriate to use even more buffers to prevent recording underruns:

#define AUDIO_BUFFERS 3 for (i=0; i<AUDIO_BUFFERS; i++) { AudioQueueAllocateBuffer (aqc.queue, aqc.frameSize, &aqc.mBuffers[i]); AudioQueueEnqueueBuffer (aqc.queue, aqc.mBuffers[i], 0, NULL); }



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.