I needed a way to buffer into memory an entire wav sound file to be played back a moments notice, as if for a game. So i created this class, simple instantiate it by passing to it a string and a bool indicating if you should buffer it to memory. after that you just call its play method whenever you need it and the windows api automatically handles async playback.
Sadly, It works just shy of how well I need it to for my purpose. but it does work very well. I'm not very good with clean up code, I believe everything here should garbage collect nicely, but if anyone has any input on that I would appreciate it.