I've been doing some research on creating audio apps for iOS and it's taken me down into the complex world of audio frameworks. Apparently there are four frameworks you can use to play and record audio including:

  • System Sound Services (C API)
  • AVFoundation (Objective C API)
  • Audio Queue Services (C API)
  • Audio Units (C API)

System Sound Services

This framework is generally used for alerts and notifications. Here are a few unique characteristics about the framework:

  • It requires you to write C code.
  • It's the only framework that allow you to access vibrate.
  • Sounds are limited to less than 30 seconds.
  • Sounds must be played from files. They cannot be streamed.
  • Sound files must be "Linear PCM" or IMA4 format.
  • Sounds must be packaged in a .caf, .iaf, or .wav file.
  • Limited control. No looping, no levels, no specific timing or simultaneous playback.
  • You cannot play audio in the background.

More

I plan to write a bit more as time progresses but I hope the high-level list will help any developer starting their research plan.