Hmmm, I think the alsa api is a bit huge/complicated. I
would never
reccomend doing alsa directly, and I think it was a very bad advice
actually. Check out portaudio, sndlib or jack instead, which provides
easier interface to the soundcard than alsa, and works on top of alsa (and
others).
Portaudio doesn't support mixers so you still need some alsa or oss
code.