Foros del Web » Creando para Internet » HTML »

Rollover y sonidos

Estas en el tema de Rollover y sonidos en el foro de HTML en Foros del Web. Hola tod@s. Hace unos días pregunté cómo podía crear sonidos en los links. Ahora es más complicado: Quiero que reproduzca sonido distintos al pasar el ...
  #1 (permalink)  
Antiguo 14/02/2003, 11:53
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Rollover y sonidos

Hola tod@s.

Hace unos días pregunté cómo podía crear sonidos en los links.
Ahora es más complicado:

Quiero que reproduzca sonido distintos al pasar el ratón (onmouseover) y al hacer clic (onclick) pero esto quiero aplicárselo al rollover. Supongo que entra en conflicto en algún momento por lo que no sé que orden ni que nomenclatura debo de seguir. La orden sobre una imagen sería algo así como:

OnMouseOver=muestra la imagen de sustitución (img2) y reproduce un sonido (sonid.1)

OnMouseOver=muestra la imagen original (img1)

OnClick=reproduce otro sonido (sonid.2)

Sé hacer ambas cosas por separado, pero no a la vez, ni en la misma página ni mucho menos en el mismo link.

¿alguien me podría ayudar? Si conocéis alguna web así (que no sea en flash, sólo html o dhtml), por favor, dadme la dirección para así poder fijarme (código abierto, claro)

Muchas gracias de ante mano.
__________________
Madrid...
te quiero:corazon:
  #2 (permalink)  
Antiguo 14/02/2003, 12:01
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Buenas Fero

para llamar a más de una función en el mismo evento basta con que las separes con un ; (punto y coma)


onMouseOver="MM_swapImg(argumentos);sonido('pepe.w av')"


  #3 (permalink)  
Antiguo 14/02/2003, 12:05
Avatar de Nachzeher  
Fecha de Ingreso: enero-2003
Mensajes: 249
Antigüedad: 21 años, 9 meses
Puntos: 1
Espero y te sirva, aunque solo quieres hacer las cosas al mismo tiempo...

Ya provaste un Script que invoque ambas funciones???




http://www.htmlweb.net/manual/sonido/sonido_1.html



Nachzeher
  #4 (permalink)  
Antiguo 14/02/2003, 13:05
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola de nuevo.
Me da vergüenza ya decirlo pero es que no me funciona:
Creo el rollover desde Dreamweaver y después insterto la orden del sonido. Este sería el código de mi página:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body onLoad="MM_preloadImages('azul.gif')">
<p><a href="nada.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','azul.gif',1 )"><img src="negro.gif" name="Image1" width="30" height="30" border="0"></a>
</body>
</html>

....y la única forma que tengo de insertar el sonido es usando:

<a href="sonido.htm" onMouseOver="document.all.sound.src='sonido1.wav' onClick="document.all.sound.src='sonido2.wav'" target="_blank">sonido</a></p>

Creo que ambas órdenes son incompatibles, no me deja hacer :

onMouseOut="MM_swapImgRestore();(document.all.soun d.src='sonido1')"

ni después incluir OnClick. O me da error o no reproduce nada.

Mil gracias por la paciencia y perdón por la molestia.
__________________
Madrid...
te quiero:corazon:
  #5 (permalink)  
Antiguo 14/02/2003, 13:13
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Hola,

prueba así:



<a href="nada.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','azul.gif',1 );document.all.sound.src='sonido1.wav"><img src="negro.gif" name="Image1" width="30" height="30" border="0"></a>

  #6 (permalink)  
Antiguo 14/02/2003, 13:56
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola Tunai:
Qué va, no funciona tampoco así.
Intentaré crear el javascript del rollover "a mano" y otro para la precarga. En el primero intentaré incluir las dos acciones, que muestre la imagen y que reproduzca el sonido y a ver qué tal me sale.
Incluso a lo mejor me atrevo con un rollover múltiple.
De todas formas si lo consigo lo publicaré en el foro.
Muchas gracias por tu tiempo.
__________________
Madrid...
te quiero:corazon:
  #7 (permalink)  
Antiguo 14/02/2003, 14:04
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Aish, acabo de darme cuenta de que omití una comilla simple

te daba error de constante de cadena sin terminar ¿no?

Antes de liarte más, haz este último intento:


<a href="nada.htm" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','azul.gif',1 );document.all.sound.src='sonido1.wav'"><img src="negro.gif" name="Image1" width="30" height="30" border="0"></a>

me dejé entre wav y " una '. Añadela
  #8 (permalink)  
Antiguo 14/02/2003, 15:02
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Sí, me di cuenta de qeu no había simetría y la incluí pero aún así tampoco funciona. Creo que el problema va a estar en el código de cabecera. No digo que esté mal, sólo que no lo haga compatible con el elemento que yo le incluyo y dé error. Lo cierto es que no sé interpretarlo bien y no sé lo que modificar.

Por eso lo de intentarlo fabricando el script, no creo que sea difícil, supongo que habría que crear el que pre-carga las imágenes y después relacional el evento OnMouseOver con las dos acciones, además incluirle el evento OnClick.

¿Se te ocurre cómo hacerlo bien? intentaré hacerlo siguiendo un manual. Ya os contaré. Gracias
__________________
Madrid...
te quiero:corazon:
  #9 (permalink)  
Antiguo 15/02/2003, 06:16
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Hola de nuevo, Fero

Bueno, lo de la precarga de imágenes puedes usar la función que trae dreamweaver. Para precarga de sonidos, ni p idea (no es lo mio esto del audio)

Efectivamente hacer una función para rollover es sencillo.
Mira, hice algo simple, el tema es que no furula en Netscape. Bueno, quizás furule con el plug-in apropiado, pero no es bueno depender de que la gente se descargue plug-ins (salvo excepciones)

Dejé un ejemplo colgado, a ver si te sirve aunque sea de orientación.



Yá me dirás algo

Saludos
  #10 (permalink)  
Antiguo 15/02/2003, 08:25
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola Tunair

Genial!! esto es lo que andaba buscando.
Aún así voy a tocarlo porque quiero incluir varios rollovers distintos, aunque los sonidos 1 y 2 serán los mismos siempre.
No sé si sería necesario precargar las imágenes y los sonidos, en ese caso lo pondré fuera de este script.

¡¡¡Muchísimas gracias!!!

Nos vemos por el foro. Salu2
__________________
Madrid...
te quiero:corazon:
  #11 (permalink)  
Antiguo 19/02/2003, 14:47
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola Tunait:

Me vuelvo a encontrar con un problema con mi web, esa de los sonidos y los rollovers.

Bien, inserté el código que me diste, cambié los parámetros necesarios y funciona perfectamente. Ahora el problema está en que quiero que esos links al abrirse sean ventanas popUp o mejor, cromelless... Sé como abrir esas ventanas, el problema es que con ese código algo se hace incompatible. Supongo que el el navegador no sabe exactamente a qué codigo javascript está llamando y por eso no abre el popUp aunque los sonidos y los rollovers van perfectamente.

Por favor, a ver si me puedes ayudar.

Muchas gracias.
__________________
Madrid...
te quiero:corazon:
  #12 (permalink)  
Antiguo 19/02/2003, 14:55
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Hola Fero,

dejame aquí el código que estás usando para llamar a las popups
  #13 (permalink)  
Antiguo 19/02/2003, 15:06
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Este es el código:

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=yes,location=0,statusbar=0,m enubar=0,resizable=0,width=550,height=419');");
}
// End -->
</script>

Después el enlace lo llamo

<a href="javascript:popUp('ventanita.htm')

Gracias.
__________________
Madrid...
te quiero:corazon:
  #14 (permalink)  
Antiguo 19/02/2003, 15:11
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
Hum.. pues no le encuentro yo el problema.

Prueba aqui

  #15 (permalink)  
Antiguo 19/02/2003, 15:27
 
Fecha de Ingreso: febrero-2003
Ubicación: Madrid, España
Mensajes: 29
Antigüedad: 21 años, 9 meses
Puntos: 0
Síííííííí!!!!
funciona, me he hecho un poco de lío cambiando cosas pero funciona de maravilla.
Muchísimas gracias, serás la primera en ver mi web.
Para lo que necesites, mil gracias
__________________
Madrid...
te quiero:corazon:
  #16 (permalink)  
Antiguo 19/02/2003, 15:31
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 2 meses
Puntos: 381
jejeje ole!

Así seré la primera? que ilu (me lo puedes dar por escrito y firmado??)

Un saludo, Fero
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 05:15.