[Indice]


¿Un plugin universal?

Hay que tener en cuenta que para que un determinado fichero multimedia, por ejemplo un pequeño mp3, pueda oirse en tu página (oirse, no descargarse) intervendrá una cadena de elementos compuesta por el sistema operativo de la máquina (SO), el navegador y los plugins que haya cargados, si es que hay alguno. Y puede que te preguntes por qué tantos eslabones para algo tan simple. Del primero, del SO, dependerá que por defecto haya herramientas ya instaladas que permitan reproducir el fichero, lo que evitaría la necesidad de un plugin. Del segundo, el navegador, dependerá que por defecto sea capaz de reproducir el fichero o en su defecto, llamar al recurso de sistema necesario para ello. Y por fin, si todo lo anterior falla, el navegador deberá tener cargado el plugin necesario, que no olvidemos que para cada navegador será diferente, aún cuando el fichero a reproducir sea el mismo.

¿Y cómo programar la página para asegurarnos que el mayor número posible de visitantes pueda oir nuestro fichero sin necesidad de hacer nada? Pues no es nada fácil. Lo ideal sería disponer de algo que sepamos de antemano que tienen instalado la mayoría de máquinas en el mundo, es decir, un plugin casi universal. Y este es sin duda, y hasta que aparezca algo mejor, el plugin de Flash Player, que según las últimas encuestas tienen más del 95% de las máquinas del mundo, independientemente de su sistema operativo. Cierto es también que el número de máquinas con sistemas operativos Windows es casi igual, lo que significa que casi todos nuestros visitantes tendrán instalado el Media Player, por lo que la reproducción de ficheros de audio o video en los formatos más habituales, como mpg, avi, o mp3 está asegurada sin necesidad de instalaciones adicionales.

La firma francesa Alsacréations ha publicado bajo Creative Commons licence (código libre y gratuito) un magnífico reproductor de mp3 con tecnología flash. Se trata del Dewplayer. Este paquete contiene todo lo necesario para, mediante varios tipos de consola, reproducir ficheros mp3. Es recomendable utilizar ficheros codificados a 44.1 Khz para evitar aceleraciones indeseadas en la lectura (no funciona bien con mp3 de baja calidad). Para insertarlo en la página html se emplea el elemento OBJECT. Veamos cómo se utiliza.

Con el siguiente código se obtiene la más simple de las consolas de reproducción: la mini

<object type="application/x-shockwave-flash" data="dewplayer-mini.swf" 
width="200" height="20" id="dewplayer" name="dewplayer">
<param name="movie" value="dewplayer.swf" />
<param name="flashvars" value="mp3=test.mp3&autostart=0&autoreplay=1&
showtime=1&randomplay=1&nopointer=1&bgcolor=FFFF00" />
</object>

Fíjate en que cada parámetro está separado del anterior por el ampersand (&). Para obtener cualquiera de las otras consolas disponibles, solamente hay que cambiar el valor de data:

con data="dewplayer.swf" tendremos la versión classic:

data="dewplayer-bubble.swf" muestra la versión bubble:

Esta es más grande, por tanto las medidas cambian: width="250" height="65"

data="dewplayer-multi.swf" para la versión multi:

Esta versión permite especificar varios ficheros. Para ello solamente hay que escribirlos en los valores del parámetro "flashvars", por ejemplo:

<param name="flashvars" value="mp3=test.mp3|test.mp3|test.mp3&
autostart=0&autoreplay=1&showtime=1&randomplay=1&nopointer=1&bgcolor=FFFF00" />
Fíjate en que el símbolo que hace de separador entre los distintos ficheros mp3 es la "pipe" | (código &#124;)

La versión playlist es parecida a la multi, pero mostrando la lista con el nombre de los títulos que correspondan a cada fichero (no necesariamente el nombre del fichero). El código cambia un poco:

<object type="application/x-shockwave-flash" data="dewplayer-playlist.swf" 
   width="240" height="200" id="dewplayerpls" name="dewplayerpls">
<param name="movie" value="dewplayer-playlist.swf" />
<param name="flashvars" value="xml=playlist.xml" />
</object>

Como habrás supuesto, el secreto está en el fichero playlist.xml que es el que contiene la lista de ficheros que se reproducirán, pero puede contener mucha más información aunque en la versión gratuita no se muestre, (esto está disponible solamente en las versiones "Pro").

Los ficheros xml son ficheros que se pueden escribir con cualquier editor, como los html. Es un formato estándar de intercambio de datos basado en etiquetas, es decir cada etiqueta indica un campo con ese nombre que contiene información. Por ejemplo, este sería un fichero playlist.xml típico:

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
    <title>Playlist</title>
    <creator>jac</creator>
    <link>http://sestud.uv.es/manual.esp/</link>
    <info>Lista de pruebas</info>
    <image>tracklist.jpg</image>

    <trackList>
        <track>
          <location>test.mp3</location>
          <creator>Jean-Pierre Claris</creator>
          <album>Exitos de siempre</album>
          <title>Plaisir d'amour</title>
          <annotation>I love this song</annotation>
          <duration>30000</duration>
          <image>autor.jpg</image>
          <info>Info de pruebas</info>
          <link>http://fr.wikipedia.org/wiki/Plaisir_d%E2%80%99amour</link>
        </track>
    </trackList>
</playlist>
Como es evidente, habrá que incluir tantos registros <track>   </track> como ficheros se vayan a incluir en la consola, y siempre dentro del agrupamiento <trackList>   </trackList>

Una particularidad de los ficheros xml, es que así como en un fichero típico de datos un campo debe existir aunque esté vacío, en xml si un campo no contiene valor, ni siquiera aparece en el fichero. En estas versiones libres del Dewplayer, puesto que nada es utilizado excepto el nombre (y localización) del fichero, el resto puede obviarse. Por tanto, el fichero playlist.xml puede quedar reducido a la mínima expresión:

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
    <title>Playlist</title>

    <trackList>
        <track>
          <location>test.mp3</location>
          <title>Plaisir d'amour</title>
        </track>
    </trackList>
</playlist>

ATENCION: En estos ejemplos se ha indicado el fichero mp3 a reproducir suponiendo que está en el mismo directorio en que se encuentra la página, pero se pueden escribir las rutas relativas que sean necesarias, y lo mismo para los ficheros .swf indicados en data o los playlist.xml

Veamos ahora los distintos parámetros que se utilizan y sus posibles valores, que siempre son dos (excepto para volume): 0=false y 1=true, es decir, 0=desactivado 1=activado.

autoplay Hace que la reproducción del fichero comience en cuanto la página es cargada:

dewplayer.swf?mp3=test.mp3&autoplay=1
autoreplay Hace que se repita la reproducción del fichero automática e indefinidamente:
dewplayer.swf?mp3=test.mp3&autoreplay=1
randomplay Si se ha seleccionado el modelo multi, el primer fichero que se reproduzca será cambiado aleatoriamente cada vez que se cargue la página. No tiene efecto en el resto de consolas:
dewplayer.swf?mp3=test.mp3&randomplay=1
showtime Hace que se muestre el tiempo que va a durar la reproducción del fichero:
dewplayer.swf?mp3=test.mp3&showtime=1
volume indica el volumen por defecto de la consola al comenzar la reproducción del fichero, deberá ser un número entre 0 y 100:
dewplayer.swf?mp3=test.mp3&volume=50

[Indice]