Sonidos

No se si me recordaras, soy Joseda me gusto mucho como me contestaste y a partir de ahora si no te importa te voy a preguntar siempre a ti, bueno tengo dos preguntas hoy:
1º)La primera pregunta es que me gustaría saber como hacer que al pasar el ratón por encima de un link que ademas tiene un rollover haga una especie de sonido.
2º)La segunda pregunta es que me gustaría saber como puedo poner un sonido de fondo a mi página, se hacerlo de esta forma:
<bgsound src="nombredelarchivo.mp3"loop="1">
Pero he notado que al entrar gente con un programa de gestión de descargas el archivo empieza a descargarse y es un problema, ademas me gustaría saber como puedo hacer para que el archivo no solo se oiga una vez si no que sea infinito, pero habiéndose descargado del todo esa página.
Además sino es mucha molestia me gustaría que me dijeras si conoces de algún programa que pueda convertir mp3 en midi, y donde podría descargarlo, muchas gracias por la atención, es mucho lo que te pido pero espero que me puedas ayudar.

1 respuesta

Respuesta
1
Veamos: la respuesta a tu primera pregunta va a ser algo más larga de lo que esperas... Yo mismo nunca lo he hecho, pero he encontrado este código que funciona en todos los navegadores: un script en cabecera...
<script language="JavaScript"><!--
var can_play = false;
var mimetype = 'audio/midi';
if (navigator.mimeTypes) {
if (navigator.mimeTypes[mimetype] != null) {
if (navigator.mimeTypes[mimetype].enabledPlugin != null) {
can_play = true;
document.write('<embed src="sound.mid" hidden=true loop=false autostart=false>');
}
}
}
if (document.all) {
can_play = true;
document.write('<embed src="sound.mid" hidden=true loop=false autostart=false>');
}
function playSound() {
if (document.embeds && can_play) {
if (navigator.appName == 'Netscape')
document.embeds[0].play();
else
document.embeds[0].run();
}
}
function stopSound() {
if (document.embeds && can_play)
document.embeds[0].stop();
}
//--></script>
Y donde quieras poner el mouseOver, esto:
<a href="#" onMouseover="playSound()" onMouseOut="stopSound()"><img src="image.gif" width="100" height="100" border="0"></a>
Añade las funciones que uses para hacer el mouseOver junto a las de poner en marcha y parar el sonido.
Respecto de la segunda pregunta, la forma que estas empleando sólo funciona con Explorer. Para que puedas hacer un bucle infinito con el sonido, y que funcione en Explorer y en Netscape, usa esto:
<EMBED SRC="misonido.mid" LOOP=TRUE AUTOSTART=TRUE HIDDEN=TRUE MASTERSOUND>
<BGSOUND SRC="misonido.mid" LOOP="INFINITE">
No puedo ayudarte con lo de los gestores de descargas, aunque puedes probar a usar las funciones que te he dado en la primera pregunta en vez del código anterior, y usarlas con un setInterval()/clearInterval() para poner sonido de fondo. Tendrías que arrancarlo en el evento onLoad de BODY... Mejor te lo explico en otra respuesta. ¡Hasta ahora!
Bruckner
Se me olvidó decirte que en la primera pregunta tienes que sustituir el tipo mime "audio/midi" por el correspondiente al sonido que tengas en tu página (audio/wav o el que sea... no me los sé todos). También tendrás que cambiar el "sound.mid" por tu sonido en particular.
Respecto de lo que te comentaba al final de la respuesta anterior: puedes escribir algo así en el script de la cabecera...
var timerSound=null;
function loopSound() {
TimerSound=setInterval('playSound()', 5000); // ajusta este número a la duración de tu sonido en milisegundos, más un intervalo de seguridad (500 ms puede valer)
}
function stopLoop() {
clearInterval(timerSound);
stopSound();
}
Esto supone que tienes las funciones de la primera respuesta definidas en tu script de cabecera. La primera función de estas dos puede usarse en el onLoad de BODY, y el sonido empezaría a tocar en el momento en el que la página se hubiera cargado del todo. La segunda función podrías asociarla a un botón o un enlace para parar el sonido... Recuerda que para mucha gente el sonido en las páginas web es molesto (¡Sobre todo si navegas desde el trabajo!), y viene bien dar la opción de eliminarlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas