0pointer.de have published a fantastic guide to sound coding under Linux, which provides advice on which Linux sound API you should use in a number of given situations (for example, within media-players or within games), and has a good rundown of the merits of the APIs available.
Many of the reader comments are very informative, too.
xine-lib provides a portable API to a set of multimedia playback functions. It is the backbone of many free video and audio players, such as xine, gxine, Totem and Miro, but documentation for it is pretty thin on the ground.
This tutorial is intended to give a brief introduction to using xine-lib in your own applications, to play audio streams.