How much are these related to each other?
I also am trying to figure this out. Some legacy code that I inherited uses audioqueues, but online, everyone talks about audiosessions. We're trying to connect the sounds so that the mute switch will also mute the app sounds, but this only seems possibly using audiosessions..
Audio Sessions is a singleton instance that enables the audio capabilities and allows modifying of general audio capabilities. Audio Sessions must always first be initialized & set active to perform other audio-related tasks.
Audio Sessions manages the routing of audio output between iPhone "call" speaker" vs "speakerphone" speaker. They also manage checking if audio input (i.e. microphone) is available (e.g. not necessarily available on iPod Touch).
======
Audio Queues is just one way to get audio data in or out of your application. There are other methods like using AVPlayer or Audio RemoteIO.
1) AVPlayer provides high-level abstraction to easily play MP3 & video files.
2) Audio Queues allow mid-level abstraction & more control to manipulate audio input/output data using.
3) Audio RemoteIO provides lowest-level control of audio input/output data. This is useful if you need direct control of the audio waveforms.