I'm not totally clear on what pulseaudio does or how i can use it. For example, I have .wav and .ogg sound files that i need to play programatically (using c/c++). How can i use pluseaudio to do this? Or should i use something else?
Pulseaudio is a low-level "driver", or better, a "layer" that exists between applications and ALSA(Advanced Linux Sound Architecture) used to direct and mix sounds. For example, a game needs to make a noise. It sends this noise to pulseaudio(or another layer which it uses if it is made differently), and pulseaudio mixes and sends to ALSA, which interfaces with your sound card. While you could write your own application, you are better off using banshee or vlc . While writing software to interface with pulseaudio is beyond the scope of my knowledge, you can try using this extra reference.