Bueno: el problema:
Uso esta función para que el usuario pueda oir el Midi antes de bajarlo:
Código HTML:
Ver original
function mp3(nombre,rpt,width,height){ CodeGen = "" var mediaURL,rpt,width,height nueva = window.open ("", "Crescendo", "toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizeable=no,copyhistory=no,width=300,height=48,top=120,left=0") nueva.document.open() nueva.document.write("<center>") nueva.document.write("<table border='0' align='center'>") nueva.document.write("<tr>") nueva.document.write("<td valign='middle' align='center' bgcolor='oldlace' ") CodeGen = '<object id=Player' + '\n' ; CodeGen += 'codeBase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,0,02,902' + '\n' ; CodeGen += 'type=application/x-oleobject height=' + height + ' width=' + width + '\n' ; CodeGen += ' standby="Loading Microsoft® Windows® Media Player components..." ' + '\n' ; CodeGen += 'classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> ' + '\n' ; CodeGen += '<param NAME="Filename" VALUE="' + nombre + '">' + '\n' ; CodeGen += '<param NAME="ShowStatusBar" VALUE= "true">'; nueva.document.write("</td>") nueva.document.write("</tr>") nueva.document.write("</table>") nueva.document.write("</center>") nueva.document.write(CodeGen) nueva.document.close() }
Esta función tal cual está funcionó toda la vida en ASP.
El código que lanza la funcion en PHP:
Código PHP:
Ver original
<?php echo '<tr><td>'.$row["CLASE"].'</td>'; ?> <td> <a href="javascript:void(null)" onclick="mp3('http://www.prolatin.com/musica/<?php echo $midi;?>,1,300,60')"><?php echo $row["TEMA"]; ?></a> </td> <?php echo '<td>'.$row["RITMO"].'</td>'; echo '<td>'.$row["AUTOR"].'</td>'; echo '<td>'.$row["ARREGLO"].'</td>'; if ($row["NUEVO"]==1){ echo '<td>'."NUEVO".'</td>'; }else{ echo '<td>'."".'</td>'; } }
Convierto el nombre del Midi a LowerCase porque así está en el servidor y PHP pone problema con Upper/Lower Case. No hay error pero no hay sonido: Cuando abre la ventana que activa Windows Media Player miren el source del código:
<html><head><title>Música original de Jorge Villamizar</title><center><body bgcolor='#669999' text='#000000'></body><table border='0' align='center'><tr><td valign='middle' align='center' bgcolor='oldlace' </td></tr></table></center><embed type="application/x-mplayer2"
pluginspage="http://www.microsoft.com/Windows/MediaPlayer/"
Name="MediaPlayer" src="http://www.prolatin.com/musica/adonde.mid,1,280,120"
autoStart=1 ShowStatusBar=1 playCount=undefined volume=0 WIDTH=undefined HEIGHT=undefined>
De los 4 parámetors de la funcion, ignora 3. Sólo lee el nombre de midi pero aunque la ruta está bien y el archivo existe físicamente, no lo encuentra.
Si alguien quiere ver que pasa, este es el url del módulo que procesa los midis.
http://sml.prolatin.com/to.php
Agradecería mucho si me pueden ayudar o sugerirme una forma diferente de que el usuario pueda oir el midi que selecciona (click en el nombre del Midi) en PHP.
Saludos.