Foros del Web » Programando para Internet » PHP »

Enviar mediante link un archivo de audio y reproducirlo en un popup

Estas en el tema de Enviar mediante link un archivo de audio y reproducirlo en un popup en el foro de PHP en Foros del Web. Estoy haciendo una página de un programa de radio de un conocido mio, en la misma vamos poniendo archivos mp3 de los programas que van ...
  #1 (permalink)  
Antiguo 12/06/2005, 00:12
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 15 años, 9 meses
Puntos: 0
Enviar mediante link un archivo de audio y reproducirlo en un popup

Estoy haciendo una página de un programa de radio de un conocido mio, en la misma vamos poniendo archivos mp3 de los programas que van pasando, y voy guardando los mp3 en una base de datos para que se puedan descargar (junto con comentarios del archivo, fecha de alta, etc.), hasta ahí todo bien, el tema que yo tomo los datos de la base de datos y los envío para que se descargue desde el link:
pagina.php?op=getit&lid=6
pero además que se descargue, quiero poner una opción para que se abra un popup con este código (pagina escuchar.php):
Código:
<embed src="<:FILENAME:>" border="0" width="200" height="100" type="application/x-mplayer2"></embed>
y se reproduzca el archivo sin tener que descargarlo. Lo que quiero hacer es que donde dice <:FILENAME:> aparezca la ruta al archivo mp3 así se reproduce.

O sea, necesitaría enviarle al PopUP, la ruta del archivo y ponerla en <:FILANAME:>
  #2 (permalink)  
Antiguo 12/06/2005, 10:24
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 15 años, 4 meses
Puntos: 15
Primero debes hacer la funcion javascript que abrira el popup, ejemplo basico:
<script>
function popup(url){
window.open(url,'mp3','width=200,height=200');
return true;
}
</script>

Esa seria la funcion a usar que abrira el popup y solo es ponerla en los links, ejemplo:
<a href="javascript:;" onclick="popup('pagina.php?op=getit&lid=6')">Link a mp3 1</a>

Como los links son dinamicos solo debe tener en cuenta que dentro de la funcion popup de javascript esta la pagina que sera abierta por el popup debes pasarle los valores de id y demas datos necesarios.
  #3 (permalink)  
Antiguo 12/06/2005, 13:34
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 15 años, 9 meses
Puntos: 0
el popup es fácil, pero la página que recibe el archivo para que se escuche tiene el código embed que puse arriba y no sé como hacer para que tome la url del archivo y la abra en el popup, te pongo com tengo la función para que se descargue:

Código PHP:
este es el link:
<
a href="index.php&amp;d_op=getit&amp;lid=$lid\">
y la función getit es:


function getit($lid) {
    global $prefix, $db;
    $lid = intval($lid);
    $db->sql_query("
update ".$prefix."_downloads_downloads set hits=hits+1 WHERE lid='$lid'");
    update_points(17);
    $result = $db->sql_query("
SELECT url FROM ".$prefix."_downloads_downloads WHERE lid='$lid'");
    list($url) = $db->sql_fetchrow($result);
    Header("
Location$url");

y el link para que se abra el popup sería algo así:

Código PHP:
<a href="index.php&amp;d_op=escuchar&amp;lid=$lid\">
y la funcion escuchar es esta:


function escuchar($lid) {
    global $prefix, $db;
    $lid = intval($lid);
    $db->sql_query("
update ".$prefix."_downloads_downloads set hits=hits+1 WHERE lid='$lid'");
    update_points(17);
    $result = $db->sql_query("
SELECT url FROM ".$prefix."_downloads_downloads WHERE lid='$lid'");
    list($url) = $db->sql_fetchrow($result);

    echo "
<script type="text/javascript\">\n";
    echo 
"<!--\n";
    echo 
"function abreescucha(mp3){\n";
    echo 
"    window.open (mp3,\"escucha\",\"toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,copyhistory=no,width=220,height=120\");\n";
    echo 
"}\n";
    echo 
"//-->\n";
    echo 
"</SCRIPT>\n\n";

    
Header ("Location: <embed src=\"$url\" border=\"0\" width=\"200\" height=\"100\" type=\"application/x-mplayer2\"></embed>");

Ya sé que está mal, pero no sé como hacer el Location para que abra el popup y dentro de ese popup salga el código de embed con el url del archivo.
  #4 (permalink)  
Antiguo 12/06/2005, 22:02
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por cauly
el popup es fácil, pero la página que recibe el archivo para que se escuche tiene el código embed que puse arriba y no sé como hacer para que tome la url del archivo y la abra en el popup (...)
... bueno, solo por tus palabras (no veo el código que dejas) supongo ya abres el pop-up, creas la URL correcta y ya tienes el código correcto que ha de reproducirte el archivo... entonces, contesntando... recoje con $_GET. Debería de ser algo así:
Código:
<embed src="<?=$_GET['variable_url'] ?>" border="0" width="200" height="100" type="application/x-mplayer2"></embed>
Suponiendo pasas la ruta por URL... (window.open('archivo.php?ruta=/audio/archivo.mp3', '...')) esto debería estar en el mismo script donde descargas... ya que haz de recuperar la ruta puedes usarla ahí mismo... sería algo como:
Código PHP:
echo "window.open('escucha.php?rura=$ruta', '...', '...')"
... Igual podría estar desde donde despliegas los archivos y creas los enlaces... con JS puedes ejecutar ambos scripts por separado.... pero me suena hasta tonto decirlo pués menciona esto ya lo tienes... quizá debas de especificar un poco más... si es necesario :-s.


Saludos y suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 12/06/2005, 23:57
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 15 años, 9 meses
Puntos: 0
Para descargar el archivo pongo, despues de tomar la ruta del archivo (mediante la funcion getit) un:
Header("Location: $url"); donde $url es la ruta que tiene el archivo (www.pirulo.com/carpeta/archivo.mp3) y se abre el cuadro de diálogo para descargarlo.
Lo que quiero es que el "location" ese me lleve a una página que reciba la ruta ($url) y que dentro de esa página (escuchar.php) esté el código:
<embed src="$url" border="0" width="200" height="100" type="application/x-mplayer2"></embed>.
Si en lugar de un archivo mp3 fuese una imágen, al poner:
Header("Location: $url");
se abriría la imágen, lo que busco es que esa "imágen" se abra dentro de otra ventana.
  #6 (permalink)  
Antiguo 13/06/2005, 00:09
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Lo que quiero es que el "location" ese me lleve a una página que reciba la ruta ($url) y que dentro de esa página (escuchar.php) esté el código:
<embed src="$url" border="0" width="200" height="100" type="application/x-mplayer2"></embed>.
Pués hazlo ... pero con header() no te abrirá una nueva página ya que lo que hace es REDIRECCIONAR... necesitas una función JS.. ya manejabas e window.open() ¿a qué se debió el replantamiento?
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #7 (permalink)  
Antiguo 13/06/2005, 01:33
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 15 años, 9 meses
Puntos: 0
No me sale, no sé como hacerlo para que se abra el popup, si el link lo pongo como:

<a href="index.php&amp;d_op=escuchar&amp;lid=$lid\">

No sé como hacer la función "escuchar()" para que abra el popup y si el link lo pongo como:

<a href="javascript:popup()"> se abre el popup, pero no toma el archivo, en el popup pongo <embed src="<?=$_GET['$url'] ?>" y no lo toma.
  #8 (permalink)  
Antiguo 13/06/2005, 16:48
Avatar de cauly  
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires
Mensajes: 726
Antigüedad: 15 años, 9 meses
Puntos: 0
pensé que iba a ser fácil
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:00.