I would try something a bit different from what hotsnoj said and have an ajax script run the playlist through a php script to see what the length of the songs were and place each one in a music play one at a time for a certain amount of time and have the php return the song length (in time) + 10 seconds to have for the next loop through the ajax script.
So it would work like so for the output:
CODE
<!-- song 0 is playing at the moment -->
<input type="hidden" name="timeout" value="song length">
<input type="hidden" name="song 1" value="somevalue">
<input type="hidden" name="song 2" value="somevalue">
<input type="hidden" name="song 3" value="somevalue">
<OBJECT ID="MediaPlayer" WIDTH=300 HEIGHT=300
classid="clsid:22D6f312-B0F6-11D0-94AB-0080C74C7E95"
STANDBY="Loading Media Player components"
TYPE="application/x-oleobject"
codebase="http://activex.microsoft.com">
<PARAM NAME = "autostart" VALUE = "True" >
<PARAM NAME = "filename" VALUE = "song 0s value" >
</OBJECT>
Then it would plug in and have this:
CODE
<!-- song 1 is playing at the moment -->
<input type="hidden" name="timeout" value="song length">
<input type="hidden" name="song 2" value="somevalue">
<input type="hidden" name="song 3" value="somevalue">
<OBJECT ID="MediaPlayer" WIDTH=300 HEIGHT=300
classid="clsid:22D6f312-B0F6-11D0-94AB-0080C74C7E95"
STANDBY="Loading Media Player components"
TYPE="application/x-oleobject"
codebase="http://activex.microsoft.com">
<PARAM NAME = "autostart" VALUE = "True" >
<PARAM NAME = "filename" VALUE = "song 1s value" >
</OBJECT>
And so on until the songs were all gone.