regarding your comment regarding why you might need AVAudioSession. I have some code which ran and produced audio without that call. Later the call was added so that the mixer could be used to fade in the audio. ie. the AVAudioSession mixer causes the audio to come from volume 0 to full volume over a time period.