 <p>They are quite different in purpose.</p> <p>OpenAL is a low level, cross-platform API for playing and controlling sounds.</p> <p>AudioSession, as the documentation puts it, is a <code>C interface for managing an application’s audio behavior in the context of other applications</code>. You may want to take a look at AVAudioSession which is a convenient Objective-C alternative to AudioSession.</p> <p>You would typically use Audio Sessions for getting sound hardware information, determining if other applications are playing sounds, specifying what happens to those sounds when your application also tries to play sounds, etc.</p> <p>Audio Sessions are all about managing the environment in which your application plays sounds. Even sounds played using OpenAL are subject to the rules imposed by your application's audio session.</p> <p>You should really check out the <a href="http://developer.apple.com/iphone/library/documentation/Audio/Conceptual/AudioSessionProgrammingGuide/Introduction/Introduction.html" rel="nofollow noreferrer">docs</a>. There is a lot to cover.</p>