jueves, 7 de agosto de 2008

Como hacer un BEEP por Javascript

Aunque no soy muy partidario de agregar sonidos a las páginas web, en ocasiones los clientes (los que pagan) insisten y hay que hacerlo.

Con respecto a como agregar un BEEP por javascript a pesar de haber buscado no encontré una forma de hacerlo (Si alguien sabe como que lo comente). Lo que si encontré es como simular un BEEP por medio de un archivo WAV.

La verdad el código javascript es sencillo, acá se los dejo:


function doBeepWav() {
ver=parseInt(navigator.appVersion)
ie4=(ver>3 && navigator.appName!="Netscape")?1:0
ns4=(ver>3 && navigator.appName=="Netscape")?1:0
ns3=(ver==3 && navigator.appName=="Netscape")?1:0
if (ie4)
document.all['BGSOUND_ID'].src='./sounds/beep.wav';
if ((ns4||ns3)
&& navigator.javaEnabled()
&& navigator.mimeTypes['audio/x-midi']
&& self.document.Bach.IsReady()
)
{
self.document.Bach.play()
}
}


Ahora para que funcione debemos agregar en nuestra página esto:

<BGSOUND id="BGSOUND_ID" LOOP=1 SRC="">

Para los interesados les dejo otra forma de hacer un verdadero BEEP no simulado como el anterior, pero que tiene la gran desventaja a mi entender que usa VBScript y ActiveX.


<script type="text/VBScript" language="VBScript">
'Permite hacer un beep,
'necesita que esté habilitado en el explorador la opción:
'Generar e iniciar controles active X
sub doBeep()
CreateObject("WScript.Shell").Run "cmd /c @echo " & Chr(7), 0
end sub
</script>

2 comentarios:

Anónimo dijo...

Hay paginas web (en realidad aplicaciones web) que son estrictamente operativas y a veces necesitan brindar al usuario feedback sobre ciertas acciones. En estas ocasiones justifica un sonido, tal como lo haría cualquier aplicación desktop. Que esto ocurra en HTML/Javascript es circunstancial. Para estos casos, es una buena opción realizarlo mediante un objeto flash, tal como cita este ejemplo: http://flashbeep.net

jacielejaely dijo...

Wynn Hotel Las Vegas - MapYRO
Compare 김포 출장샵 reviews, photos & cheap rates for Wynn Hotel Las Vegas in Las Vegas (Nevada) - Find your way 고양 출장안마 around 양주 출장샵 the casino, find where everything is 상주 출장마사지 located  Rating: 3 · ‎2,182 votes 경주 출장샵