Or use fmodce (
www.fmod.org. Free for non-commercial use.
blurb: "FMOD supports 3d sound, midi, mods, mp3, ogg vorbis, wma, aiff,
recording, obstruction/occlusion, cd playback (analog or digital), cd
ripping, mmx, internet streaming, dsp effects, spectrum analysis, user
created samples and streams, synchronization support, ASIO, EAX 2&3,
C/C++/VB/Delphi and more."
Lane Kuo has written a very nice .NET CF wrapper in his smartphone alarm
project.
http://sourceforge.net/projects/spalarm/
The library can easily be extended to add support for the callbacks using
the standard technique of another native dll which posts messages to a
MessageWindow class in your .NET app.
fmodce is free for non commercial use and it rocks.