Advertencia: Si utilizas IE4 o IE5, y tienes instalado Microsoft Media Player, el código siguiente no funcionará. Esto sucede porque Microsoft fue tan bondadoso de quebrar toda la compatibilidad en los controles multimedia de IE (¿tal vez fue a propósito?). No me he preocupado de investigar que es lo que dice adentro de la última documentación de IE para ver como esperan que la gente haga trabajar los controles de sonido en IE.
Controlar el sonido es muy fácil una vez que sepas cuales son los comandos. La forma mas fácil que he encontrado es usando el tag EMBED para cargar el fichero de sonido (wav,au,midi etc.) Luego usando los comandos apropiados podrás hacer el fichero que comience o que pare.
De primero, aquí hay un embed tag (mas que todo se explica por sí mismo):
<EMBED NAME="myaudio" SRC="myaudio.mid" LOOP=FALSE AUTOSTART=FALSE HIDDEN=TRUE MASTERSOUND>
El código para hacer que este fichero suene en Netscape 3 o Netscape 4 es:
document.myaudio.play()
Si deseas que el fichero haga un loop, tienes que utilizar .play(true)
Y el código para IE es muy similar:
document.myaudio.run()
En IE el fichero hará un loop dependiendo de la propiedad de LOOP que está en el EMBED tag.
Finalmente el código para parar el sonido en el fichero es el mismo a través de todos los browsers:
document.myaudio.stop()
Ejemplo: audio1.html [fuente] para un ejemplo (este ejemplo solamente funcionará si tu browser esta adecuadamente configurado para que el sonido venga de devuelta (audio playback)
Hay que considerar un montón de cosas si piensas implementar un sonido en la página. No todas las versiones de Nestcape 3 y 4 tienen la capacidad, y te darán un error cuando este lee el EMBED tag. Y si los ficheros todavía no han cargado y tratas de comenzar el sonido, te dará algún tipo de error. Y si utilizas IE4 y tratas de comenzar un fichero de sonido cuando otro esta ya sonando o si ejecutas un comando de sonido por un HREF tag, no hará nada, etc, etc, etc.
No tienes porque preocuparte, en el ejemplo siguiente he realizado las pruebas necesarias para que no aparezcan errores, y así probablemente lo único que tendrás que hacer es cortar y pegar lo que necesites. He incluido montones de remarcas para explicar lo que estoy haciendo, yo creo que de esta manera podrás proseguir.
Ver audio2.html para un ejemplo con sonidos múltiples y chequeador de errores en el audio. Ver fuente de código.
Casa | Próxima Lección: Generating Layers |