Why not using the "start" utility, provided with every version of Windows to start processes in the background on Windows machines? For example :
exec("start song.mp3");
Which will cause the default handeling application for .MP3 file types to start playing the selected song..