I ocasionally used this API long ago and never took much notice of it but recent test pieces have produced some interesting results.
If you convert an MP3 file to WAV via ffmpeg, it seems that the WAV format is a container format and when you do the conversion, you get a wav extension file that is the same size as the MP4. Now once you have done the conversion, you can play the converted MP3 file with PlaySound.
With another API you can set the playback volume and by putting the function call into a thread, you can get it to run without locking up the main app. It can be stopped with an empty call to PlaySound. It appears that PlaySound cannot be stopped and re-started which is unfortunate. There are some MCI based API calls that can probably do this.