Foros del Web » Programando para Internet » PHP »

Problema para leer Midi Files

Estas en el tema de Problema para leer Midi Files en el foro de PHP en Foros del Web. Amigos: un problema un poco complicado. Durante mucho tiempo mi sitio Prolatin estuvo diseñado en ASP. Ahora estoy cambiando todo a PHP porque son incontables ...
  #1 (permalink)  
Antiguo 14/07/2010, 12:14
 
Fecha de Ingreso: junio-2010
Mensajes: 37
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema para leer Midi Files

Amigos: un problema un poco complicado. Durante mucho tiempo mi sitio Prolatin estuvo diseñado en ASP. Ahora estoy cambiando todo a PHP porque son incontables las ventajas. Prolatin se compone de 6 subdomains y uno de ellos es Super Midi Latino. He creado más de 700 midis latinos y anteriormente eran para la venta pero ahora son gratis.

Bueno: el problema:

Uso esta función para que el usuario pueda oir el Midi antes de bajarlo:

Código HTML:
Ver original
  1. function mp3(nombre,rpt,width,height){
  2. CodeGen = ""
  3. var mediaURL,rpt,width,height
  4. 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")
  5. nueva.document.open()
  6. nueva.document.write("<html><head><title>" + "Super Midi Latino" + "</title>")
  7. nueva.document.write("<center>")
  8. nueva.document.write("<body bgcolor='#669999'  text='#000000'></body>")
  9. nueva.document.write("<table border='0' align='center'>")
  10. nueva.document.write("<tr>")
  11. nueva.document.write("<td valign='middle' align='center' bgcolor='oldlace' ")
  12. CodeGen = '<object id=Player' + '\n' ;
  13. CodeGen += 'codeBase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,0,02,902' + '\n' ;
  14. CodeGen += 'type=application/x-oleobject height=' + height + ' width=' + width + '\n' ;
  15. CodeGen += ' standby="Loading Microsoft&#174; Windows&#174; Media Player components..." ' + '\n' ;
  16. CodeGen += 'classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"> ' + '\n' ;
  17. CodeGen += '<param NAME="Filename" VALUE="' + nombre + '">' + '\n' ;
  18. CodeGen += '<param NAME="ShowStatusBar" VALUE= "true">';
  19. CodeGen += '<param NAME="autoStart" VALUE="true"><param NAME="Volume" VALUE="0">' + '\n' ;
  20. CodeGen += '<param NAME="playCount" VALUE=' + rpt + '></object>'
  21. nueva.document.write("</td>")
  22. nueva.document.write("</tr>")
  23. nueva.document.write("</table>")
  24. nueva.document.write("</center>")
  25. nueva.document.write(CodeGen)
  26. nueva.document.close()
  27. }

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
  1. <?php
  2.  while($row=mysql_fetch_assoc($result)){
  3.     echo '<tr><td>'.$row["CLASE"].'</td>';
  4.     $midi=strtolower($row["ARCHIVO"]);
  5.     ?>
  6.     <td>
  7.     <a href="javascript:void(null)" onclick="mp3('http://www.prolatin.com/musica/<?php echo $midi;?>,1,300,60')"><?php echo $row["TEMA"]; ?></a>
  8.     </td>
  9.   <?php
  10.   echo '<td>'.$row["RITMO"].'</td>';
  11.   echo '<td>'.$row["AUTOR"].'</td>';
  12.   echo '<td>'.$row["ARREGLO"].'</td>';
  13.   echo '<td>'.substr($row["FECHA"],-19,4).'</td>';
  14.   if ($row["NUEVO"]==1){
  15.   echo '<td>'."NUEVO".'</td>';
  16.   }else{
  17.   echo '<td>'."".'</td>';
  18.   }
  19. }

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.
  #2 (permalink)  
Antiguo 14/07/2010, 12:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema para leer Midi Files

el problema no es de PHP, ya que php esta imprimiendo bien los valores...

tu problema es de la función Javascript mp3(), si no sabes que sucede por favor ve al foro correcto...

y si no me equivoco, es esta linea:
Código:
var mediaURL,rpt,width,height
¿que sucede si la borras?

Edito: error mio, si... tu problema está en el PHP
Código PHP:
'http://www.prolatin.com/musica/<?php echo $midi;?>,1,300,60'
si pones atención estas colocando los parámetros adicionales igualmente dentro de las comillas del primer argumento...

cuando debería ser así:
Código PHP:
'http://www.prolatin.com/musica/<?php echo $midi;?>',1,300,60
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 14/07/2010, 13:52
 
Fecha de Ingreso: junio-2010
Mensajes: 37
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema para leer Midi Files

Amigo pateketrueke (espero que lo haya escrito bien): te debo una... NOOO Te debo mil!!! Unas buenas horas lidiando con este error.

Muchas gracias. Definitivamente la sintaxis de ASP me trae muchos problemas en PHP. Pero agún día me liberaré de ella. Vamos aprendiendo gracias a personas como tú. De verdad, un amigo. Y los que bajan Midis te van a agradecer más... Ya puedes ver que funciona perfecto. Sólo es cuestión de ajustar parámetros.

¡¡Suerte!!

Etiquetas: files, midi
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:51.