There are a lot of reasons for sound not work (no speakers, speakers turned off, volume set to zero, software configuration problems, etc)
How can I discover from within my program if sound is working and being heard?
There are a lot of reasons for sound not work (no speakers, speakers turned off, volume set to zero, software configuration problems, etc)
How can I discover from within my program if sound is working and being heard?
The only way to reliably do that is pretty much to ask the user:
play sound;
if (user_hears_sound_dialog)
sound works;
Edit: Please don't do an unannounced sound test by killing the users ears, potentially blowing his speakers and forcing him to kill the application. It's just not nice, see!
Of course only the user can decide if sound is working.
Programmatically, I believe that only with a micro you could trace sounds.