Foros del Web » Programando para Internet » Javascript »

Parar canciones

Estas en el tema de Parar canciones en el foro de Javascript en Foros del Web. Hola amigos: Tengo una web con dos frames (uno oculto que genera el sonido de fondo y otro que es la web en si) Veamos ...
  #1 (permalink)  
Antiguo 11/09/2003, 17:19
Avatar de Sharak  
Fecha de Ingreso: diciembre-2002
Mensajes: 26
Antigüedad: 21 años, 4 meses
Puntos: 0
Parar canciones

Hola amigos:

Tengo una web con dos frames (uno oculto que genera el sonido de fondo y otro que es la web en si)
Veamos en el frame de sonido (llamado asi, sonido) he echo un script para generar un sonido aleatorio (un archivo mid aleatorio cada vez que se carga la página). El codigo es el que sigue:
Código PHP:
<script language="JavaScript">
function 
Player()
{
        var 
Numero parseInt((9) * Math.random() + 1);

        switch (
Numero)
        {
            case 
1:
            {
                
Musica.src 'midis/memphisto.mid';
                break;
            }
                case 
2:
            {
                
Musica.src 'midis/gimmegi.mid';
                break;
            }
                case 
3:
            {
                
Musica.src 'midis/delight.mid';
                break;
            }
                case 
4:
            {
                
Musica.src 'midis/fade_black.mid';
                break;
            }
                case 
5:
            {
                
Musica.src 'midis/beautiful.mid';
                break;
            }
                case 
6:
            {
                
Musica.src 'midis/memphisto.mid';
                break;
            }
                case 
7:
            {
                
Musica.src 'midis/mazinger.mid';
                break;
            }
                case 
8:
            {
                
Musica.src 'midis/1492.mid';
                break;
            }
                case 
9:
            {
                
Musica.src 'midis/dracula.mid';
                break;
            }
        }
}
</script> 
Esto carga un sonido aleatorio en la directiva siguiente:

<bgsound id="Musica" src="" loop="-1" volume="100">

y es llamado desde el evento onload de la etiqueta BODY

Ahora bien, quiero que desde el frame principal se pueda cambiar a otro sonido, tambien aleatoriamente, y parar la musica.

Lo primero es muy facil solo he tenido que crear un enlace con el siguiente codigo:
<a href="javascript:top.sonido.location.reload()">Cam biar de canción</a>
pero el de parar la música no me sale.

¿Alguien me puede echar una mano por favor?

Gracias y un saludo

Última edición por Sharak; 13/09/2003 a las 12:12
  #2 (permalink)  
Antiguo 12/09/2003, 03:23
Avatar de homer  
Fecha de Ingreso: marzo-2003
Ubicación: Madrid
Mensajes: 40
Antigüedad: 21 años, 1 mes
Puntos: 0
Se me ocurre que podrías poner un enlace a un frame vacío, sin el script de sonido.
  #3 (permalink)  
Antiguo 12/09/2003, 04:30
Avatar de Sharak  
Fecha de Ingreso: diciembre-2002
Mensajes: 26
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias

Claro. Como no he caido, llevo dandole vueltas al tema cerca de una semana, dando vueltas por este foro buscando alguna sugerencia y al fin pregunto y me respondes con algo tan obvio como esto.

Es la solucion perfecta, justo lo que quiero.

Gracias de nuevo y un saludo
  #4 (permalink)  
Antiguo 12/09/2003, 05:18
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola Sharak:

En mi web tengo la música de una forma muy parecida a la que tu quieres y el sistema de encendido y apagado es tal como te plantea homer (hola )... puedes ver la página en los botoncitos de mis mensajes, aunque la razón de mi mensaje es sugerirte que uses embed en vez de bgsound porque el último es para explorer, y embed es para todos los navegadores.
La sintaxis es prácticamente igual.

Te voy a pasar mi página de sonidos porque también está más simplificada, y supongo que le podrás sacar provecho.

Código PHP:
<html>
<
head>
<
title>
Sobre sonidos
</title>
</
head>
<
body >
<
center>
<
script language="javascript">
var 
archi = [
    
'ficheros/GDOLDAYS.MID',
    
'ficheros/HOEDOWN.MID',
    
'ficheros/RIDERSTM.MID',
    
'ficheros/SONG6.MID',
    
'ficheros/ROCKIN.MID',
    
'ficheros/PETERGUN.MID'
];
var 
sonido archi[Math.floor(Math.random() * archi.length)];
var 
="<embed src='" sonido "' autostart='true' loop='true' hidden='true' >";
var 
"<bgsound src=" sonido " loop=infinite >";
var 
= (document.all) ? m;
document.writeln(x);

</script>

</center>
</body>
</html> 
Espero que tesirva.

Saludos
  #5 (permalink)  
Antiguo 12/09/2003, 16:02
Avatar de Sharak  
Fecha de Ingreso: diciembre-2002
Mensajes: 26
Antigüedad: 21 años, 4 meses
Puntos: 0
Gracias a ti tambien Caricatos lo hare a tu método. Ya andaba yo buscando un script que corriera con la directiva embed (por aquello de los estandares como tu bien dices) pero solo me salió y no funciona con la etiqueta embed.

Gracias y un saludo
  #6 (permalink)  
Antiguo 13/09/2003, 00:16
Avatar de masterwww  
Fecha de Ingreso: enero-2002
Ubicación: Toluca
Mensajes: 1.260
Antigüedad: 22 años, 4 meses
Puntos: 1
hola sharak, vi tu mensaje y me intereso, espero no molestar, pero haber si entendi...


---------------------------------------

<script language="JavaScript">
function Player()
{
var Numero = parseInt((9) * Math.random() + 1);

switch (Numero)
{
case 1:
{
Musica.src = 'midis/memphisto.mid';
break;
}
case 2:
{
Musica.src = 'midis/gimmegi.mid';
break;
}
case 3:
{
Musica.src = 'midis/delight.mid';
break;
}
case 4:
{
Musica.src = 'midis/fade_black.mid';
break;
}
case 5:
{
Musica.src = 'midis/beautiful.mid';
break;
}
case 6:
{
Musica.src = 'midis/memphisto.mid';
break;
}
case 7:
{
Musica.src = 'midis/mazinger.mid';
break;
}
case 8:
{
Musica.src = 'midis/1492.mid';
break;
}
case 9:
{
Musica.src = 'midis/dracula.mid';
break;
}
}
}
}
</script>

--------------------
esta parte de tu codigo en donde la pegas? ... tambien me imagino que esta en la parte donde suena el midi



ahora este cogido:



<bgsound id="Musica" src="" loop="-1" volume="100">

lo pones en el Body y ya es todo? con eso cada que alguien carga la pagina escucha un midi diferente?

de antemano gracias
__________________
Visita mi Blog

GarageBlog.com
  #7 (permalink)  
Antiguo 13/09/2003, 12:11
Avatar de Sharak  
Fecha de Ingreso: diciembre-2002
Mensajes: 26
Antigüedad: 21 años, 4 meses
Puntos: 0
Que tal masterwww,

Todo esto lo meto entre <HEAD> y </HEAD>.
La directiva <bgsound id="Musica" src="" loop="-1" volume="100"> tambien va en este lugar.

Luego para que todo funcione en la misma pagina has de poner:
<BODY onLoad="javascript:Player();">

Con esto funciona. Aun asi creo que es más fácil como explica caricatos un poco más arriba, solo tienes que copiar el código que te pone en el frame de sonido y listo (bueno tienes que cambiar las rutas de las midis por las tuyas )

Creo que eso es todo. Si tienes algún problema no dudes en preguntar.

Un saludo

P.D.: Ten cuidado en el codigo que puse sobraba una llave. He editado el mensaje inicial para corregirlo. Ahora esta bien.
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 13:55.