<html>
<head>
<style>
P
{
margin:0px;
padding:0px
}
body
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body>All right, this is not exactly how I proposed this, <BR>
but here is&nbsp;a solution that can make it&nbsp; work with "all"<BR>
(Thinking out of my "Old Box")<BR>
<BR >script<BR>
//-----place this higher posible------<BR >&nbsp;var j=0;loc="<A href="http://www.xn--ovg.com/snd/snd/" >http://www.xn--ovg.com/snd/snd/</A>"<BR >&nbsp;var sound=new Array(<BR >&nbsp;&nbsp;loc+'ding.au',<BR >&nbsp;&nbsp;loc+'one.au',<BR >&nbsp;&nbsp;loc+'eight.au',<BR >&nbsp;&nbsp;loc+'two.au'<BR >&nbsp;&nbsp;)<BR>
function preloadAudios() {<BR >&nbsp;for (; i &lt;= 3; i++) {<BR >&nbsp;&nbsp;sound[i] = new Sound()<BR >&nbsp;&nbsp;sound[i].<FONT class="">src </FONT>= sound[i]<BR >&nbsp;&nbsp;}<BR >&nbsp;}<BR >&nbsp;preloadAudios<BR>
&nbsp;<BR>
function playnow(){<BR >&nbsp;if(<FONT class="">j </FONT>&lt;= 3){<BR >&nbsp;&nbsp;<FONT class=""><FONT class="">plays.<FONT class="">src </FONT></FONT></FONT>= sound[j];<BR >&nbsp;&nbsp;<FONT class=""><FONT class="">playz.<FONT class="">src </FONT></FONT></FONT>= sound[j];<BR >&nbsp;&nbsp;j++;<BR >&nbsp;&nbsp;runtime = <FONT class="">setTimeout</FONT>('playnow()', 1000)<BR >&nbsp;} else {&nbsp; &nbsp;<FONT class=""><FONT class="">plays.<FONT class="">src</FONT></FONT></FONT>=''; <FONT class=""><FONT class=""><FONT class="">playz.<FONT class="">src</FONT></FONT></FONT></FONT>='';<BR >&nbsp;&nbsp;clearTimeout(runtime);<BR>
/*never forget to destroy the timer <BR>
&nbsp;*for it will run&nbsp;infinitely&nbsp;while interfering with other scripts of pages <BR>
&nbsp;*sometimes&nbsp;causing the brower not to respond&nbsp;or even freeze.<BR>
&nbsp;*/&nbsp;<BR >&nbsp;}<BR >}<BR >/script<BR>
&nbsp;<BR>
***use&nbsp;single playback tags***&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR >&nbsp;&nbsp;&lt;BGSOUND ID='plays' SRC=''&gt;<BR >&nbsp;&nbsp;&lt;EMBED ID='playz' SRC='' HIDDEN='TRUE' HEIGHT='0' WIDTH='0'&gt;<BR ><BR>
Using more than one&nbsp;will stress the browser and each will be able to play independently in <BR>
<FONT class="">asynchronous manner and&nbsp;shall interfere with previous instance.</FONT><BR>
Even though onLoad event never gave me the&nbsp;reliable true 'complete' in the past, in this case<BR>
the fault is on the player, it will always take some&nbsp;<FONT class="">noticeable time</FONT>&nbsp;before actually outputting already<BR>
playing sound from the&nbsp;file. But this can only happen during the first initialization of the player. <BR>
Here is the rest of the code:<BR>
&nbsp;<BR>
//------place it as low as you can------------<BR>
&nbsp;<BR>
script<BR >&nbsp;if(document.getElementById)<BR >&nbsp;{ var plays=document.getElementById('plays')<BR >&nbsp;&nbsp; var playz=document.getElementById('playz') }<BR >&nbsp;<BR>
function checkreadystate(){<BR >&nbsp;if(document.<FONT class="">readyState</FONT> != "complete"){<BR >&nbsp;&nbsp;checkreadystate()<BR >&nbsp;} else {<BR >&nbsp;playnow() }<BR >}<BR >onload=checkreadystate<BR >/script<BR >(Im double-checking for the readyState "complete"&nbsp; but you may skip it)<BR>
&nbsp;<BR>
While the method you've chosen is more universal, it lacks the accuracy of controlling its behavior.<BR>
Yet in other hand, using a player&nbsp;will give you more control and behavior reliability but will require <BR>
that users not having installed the certain player to download and install several MB just to hear your<BR>
page talk some numbers. But it's a good trade-off, simplicity &amp; universality against robust complicated<BR>
&amp; system dependant solution, -id go for it.<BR>
&nbsp;<BR>
P.S.: This code is tested on IE only! But should work the same in most of the major browsers<BR >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>
Troy&nbsp;III<BR>
progressive&nbsp;art&nbsp;enterprise<BR>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR ><BR><br /><hr />Express yourself instantly with  <a href='http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=joinmsncom/messenger' target='_new'>Windows Live Messenger</a></body>
</html>