Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Artículos > Lenguajes de script > Javascript > Sonido con Javascript
-Artículos

Sonido con Javascript

1 . Cómo hacerlos sonar
2 . Cómo usar el código

Aquí tienes lo necesario para hacer sonar archivos desde Javascript (al cargar la página, al pasar el usuario el ratón por una imagen, etc..).

Cómo hacerlos sonar

Muchas cosas son imposibles de lograr con los métodos habituales de JavaScript. Y allí donde llega el HTML pero el Javascript no tendremos que usar el viejo (y algo cutre) método de escribir HTML con Javascript para obtener lo que queremos.

Con esta idea, y sabiendo cual es el código HTML que debemos escribir en un documento para que haga sonar un archivo de sonido, lo único que debemos hacer es preparar un frame escondido donde escribirlo:

<FRAMESET COLS="1,*" FRAMEBORDER=0 FRAMESPACING=0
  BORDER=0>
  <FRAME SRC="blanco.htm" NAME="sonido" NORESIZE
    MARGINHEIGHT=0 MARGINWIDTH=0 SCROLLING="NO"
    FRAMEBORDER=0>
  <FRAME SRC="principal.htm" NAME="principal" FRAMEBORDER=0>
</FRAMESET>

Añadiendo a principal.htm el siguiente código en Javascript:

function play(fichero) {
  sonido = parent.sonido.document;
  sonido.open();
  sonido.write('<HTML><HEAD>');
  sonido.write('</HEAD><BODY BGCOLOR="#ffffff">');
  sonido.write('<EMBED SRC="' +fichero+'" HIDDEN=TRUE'+
    + 'AUTOSTART=TRUE HEIGHT=0 LOOP=FALSE>');
  sonido.write('</BODY></HTML>');
  sonido.close();
}

function stop() {
  sonido = parent.sonido.document;
  sonido.open();
  sonido.write('<HTML><HEAD>');
  sonido.write('</HEAD><BODY BGCOLOR="#ffffff">');
  sonido.write('</BODY></HTML>');
  sonido.close();
}

Como podéis ver, el código no hace nada más que escribir en el frame escondido el código necesario para hacer sonar un fichero (necesitarás para que funcione un navegador de versión 3 o superior con las capacidades necesarias para hacer sonar ficheros WAV o MID).

Cómo usar el código

Ahora tan sólo necesitamos llamar a nuestras recén creadas funciones play y stop desde el controlador del evento que mejor nos caiga. En el siguiente ejemplo, cuando paséis el ratón por encima del altavoz que aparecerá sonará una melodía, y dejará de hacerlo cuando alejeis el mismo.

Ya sé que la música es mala, pero... ¿qué esperabais? Es mía. Bueno, a lo que ibamos; el código que hace esto es el siguiente:

<A HREF="loquesea"
  onMouseOver="play('cpet.mid')" onMouseOut="stop()">
    <IMG SRC="altavoz.gif" BORDER=0>
</A>

Simplemente con llamarlo desde el evento adecuado, podréis hacer tocar lo que queráis. No conviene abusar, no obstante, ya que los sonidos no se precargan y puede resultar algo lento para el usuario.

 

Últimos comentarios
Últimos 5 comentarios

Lo mismo en asp.net (13/11/2007)

Por
Quiero ejecutar un sonido en una pagina .aspx ¿como lo hago?

Duda (24/09/2006)

Por
As explicado como añadir un sonido y hacerlo funcionar al pasar el raton.
Si quisiera que cuando salga un color determinado en la web, sonara ¿como deveria hacerlo?

pufff (01/11/2005)

Por
alguien sabe como puedo hacer para cayar a la bola de pendejos de arriba :S

pufff (01/11/2005)

Por
alguien sabe como puedo hacer para cayar a la bola de pendejos de arriba :S

clip raton (14/06/2005)

Por
alguien sabria explicarmen como puede quitarle
el sonido al raton, ya que me molesta mucho
el clip que hace?.
 
Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network