[Indice]


Páginas con ficheros multimedia (audio/video) y otros objetos

Pueden utilizarse indistintamente ficheros multimedia con las extensiones .wav, .aiff, .au, .mid, .mp3, .mpg, .mpeg, .avi, .wmv, .rm, etc., etc. Los navegadores no admiten directamente ningún tipo de formato multimedia por defecto, y es necesario cargar un plugin, que el cliente tendrá que buscar e instalar.

Un plugin es un pequeño programa que hará las veces de conector entre el navegador y el fichero multimedia, es decir, que dotará al navegador de una cierta capacidad que de serie no tiene. Los plugins no solamente son necesarios para reproducir los ficheros multimedia, sino también para poder cargar cualquier otro tipo de fichero que no sea HTML, que es el único formato que realmente entienden los navegadores.

Casi todos los navegadores precisarán de un plugin para reproducir cualquier tipo de formato (multimedia o no), excepto el Internet Explorer que echa mano de los ActiveX propios de los sistemas operativos Windows.

El primer elemento disponible en HTML para los ficheros multimedia fue <EMBED>. Este elemento, que en realidad nunca llegó a estar incluido oficialmente en el lenguaje por la w3c, todavía funciona en todos los navegadores modernos, pero presenta algunos problemas, que al no estar sujeto a estandarización alguna, ha provocado que cada navegador interprete a su manera las cosas. No está en la especificación del nuevo XHTML, que recomienda el uso del elemento <OBJECT> para estos menesteres.

<EMBED> cuenta con un buen número de atributos: SRC, AUTOSTART, LOOP, STARTTIME, ENDTIME, VOLUME, WIDTH, HEIGHT, ALIGN, CONTROLS y HIDDEN.

SRC Indica dónde está el fichero a reproducir, pero no puede utilizarse solo, necesita la compañía de otros atributos del elemento, concretamente los que definen el tamaño de la consola (que es un icono parecido al teclado que tiene un casette pequeño): WIDTH (largo) y HEIGHT (alto)

Otro atributo de EMBED es AUTOSTART con dos posibles valores: FALSE (por defecto) y TRUE, y como ya habrás deducido, TRUE hace que comience la reproducción inmediatamente después de cargar la página, y sin necesidad de pulsar el botón "start" de la consola.

El siguiente atributo a analizar es HIDDEN que sólo tiene un valor: TRUE, y hace invisible la consola, pero evidentemente, si es invisible no puedes activar el sonido, y por tanto lo hace él mismo, siempre que no hayas puesto AUTOSTART=FALSE, claro.

Un atributo de repetición no podía faltar, y lo tenemos en LOOP y sus tres posibles valores: FALSE (por defecto), TRUE que fuerza a la repetición sin fin de la audición, e INTEGER donde INTEGER es el número de veces que deseas que se repita la audición.

No es obligado comenzar una audición por el principio del fichero. Imagínate que tienes una serie de instrucciones habladas, y quieres dar la oportuna en cada momento, no todas de golpe. Para esto tenemos los atributos STARTTIME=mm:ss y ENDTIME=mm:ss donde mm son los minutos y ss los segundos del punto de comienzo o fin de la audición. Cuidado: los valores hay que darlos con dos dígitos:

Por último tenemos el atributo ALIGN y sus valores TOP, BOTTOM, CENTER, LEFT, RIGHT, MIDDLE y TEXTTOP que funcionan igual que sus respectivos del elemento IMG, es decir, que no tiene efectos sobre el sonido o el vídeo, sino sobre la imagen de la consola y su alineación con el texto de la página.

He aquí un breve ejemplo con los atributos básicos:

    <EMBED SRC="minueto.mid" WIDTH=160 HEIGHT=70 AUTOSTART="FALSE">
Funciona bien con todos los navegadores, excepto con Opera.

El elemento <OBJECT>   </OBJECT>

Este nuevo elemento pretende evitar la necesidad de continuar creando elementos fijos cada vez que aparece un nuevo formato de ficheros, como ocurrió, por ejemplo, con los multimedia y EMBED. En efecto, puesto que EMBED no ha resuelto las diferencias entre navegadores a la hora de cargar los distintos formatos, el XHTML ha implementado un elemento que puede incluir todos los parámetros que el formato a cargar precise, pero no con parámetros fijos como hasta ahora, sino "a la medida" de cada uno y tratándolos como objetos independientes. Como "objeto" se entenderá cualquier fichero externo, incluso HTML, que deba mostrarse en la página.

En el nuevo XHTML se ha eliminado el elemento iframe que era utilizado para insertar una ventana con contenido independiente al de la página que la soporta. Por ejemplo:

<IFRAME id="indice" SRC="indice.htm" WIDTH="600" HEIGHT="150" FRAMEBORDER="1" MARGINWIDTH="5" MARGINHEIGHT="5" SCROLLING="Auto"></IFRAME>

Y esta es la forma de sustituirlo:
<object id="indice" type="text/html" data="indice.htm" style="width:500; height:200px;">
<p>Texto alternativo, si la página no es encontrada</p>
</object>

Texto alternativo, si la página no es encontrada

Y para un gráfico sustituyendo a <IMG>:

<object data="sugeren.gif" type="image/gif">
<p>Contenido alternativo, si el gráfico no es encontrado</p></object>

Contenido alternativo, si el gráfico no es encontrado

Dependiendo del tipo de fichero a tratar, no todos los navegadores funcionan correctamente con OBJECT. Los más conocidos, como Firefox, IE, Opera, Chrome o Safari, en general, con los tipos de fichero más habituales, suelen funcionar bastante bien si se afina la parametrización (<param name="valor">). Puede no resultar fácil encontrar plugins para algunos tipos de fichero. Y por supuesto, los parámetros necesarios pueden no ser los mismos para todos los navegadores.

En el siguiente ejemplo se muestra el código mínimo necesario para reproducir un fichero .mp3 y que generalmente, con todos los navegadores excepto el IE, solicitará al cliente que instale el plugin de QuickTime si no lo tiene ya:

<object  data="test.mp3" type="audio/x-mp3" height="50" width="300" >
	<param name="src" value="test.mp3" />
	<param name="autostart" value="0" />
</object>

En la sintaxis de este elemento son clave los dos primeros atributos de la primera línea:

data indica la ruta del fichero a cargar (pueden ser tanto rutas relativas como absolutas).
type indica al navegador el tipo de contenido del fichero, o lo que es igual el MIME type del que ya se ha hablado en otra sección de esta guía.

Según el MIME declarado, el navegador cargará los recursos del sistema que tenga disponibles para reproducir correctamente el fichero. En general todos los navegadores mostrarán la consola del QuickTime y el IE la del Media Player.

Es importante la elección del valor de type ya que eso definirá que el navegador tenga que buscar un plugin o no. Por ejemplo, si en lugar de definirlo como está, con audio/x-mp3 (que parece el más natural, dado el tipo de fichero) se define como type="application/x-mplayer2" todos los navegadores presentarán la consola del Media Player sin necesidad de buscar nada. Parece la solución ideal, pero si el cliente no se conecta desde una máquina Windows, no funcionará, ya que el Media Player es exclusivo de este sistema operativo.

veamos un ejemplo para reproducir un fichero mp3 (no funciona bien con Opera ni con las últimas versiones de Mozilla):

<object height="80" width="300"type="application/x-mplayer2" data="test.mp3">
	<param name="src" value="test.mp3" />
	<param name="controller" value="false" />
	<param name="autostart" value="0">
</object>

También se puede utilizar para reproducir un video:

<object height="300" width="350"type="application/x-mplayer2" data="colon.avi">
	<param name="src" value="colon.avi" />
	<param name="controller" value="false" />
	<param name="autostart" value="0">
</object>

Este último no funciona bien con Opera ni con las últimas versiones de Mozilla.

Hasta aquí hemos visto cómo presentar un fichero multimedia con el Media Player de Windows, pero solo uno. En efecto, ¿qué hacer si tenemos un fichero de gran tamaño troceado en varias partes? O simplemente, varios ficheros relacionados aunque no formen parte de uno solo. Si el número de partes es relativamente elevado, puede ser muy cargante presentarlos todos de la forma que ya conocemos, y lo que es peor, puede suceder que el navegador se cuelgue.

Existe una forma de acceder a una lista de ficheros multimedia utilizando el Media Player. Es decir, que escribiendo solamente una definición de consola se puede ver o escuchar una serie de ficheros; hablamos de los ficheros .asx

La particularidad reside en la extensión del fichero multimedia. No, no es un nuevo tipo de video super comprimido, es simplemente un fichero de texto, editado con cualquier editor, como el bloc de notas, que contiene la referencia a los ficheros que se desea encadenar. Por ejemplo, para encadenar dos pequeños ficheros multimedia de formato .mid se escribe:

Fichero lista.asx

<ASX version = "3.0">
<ENTRY><REF HREF="minueto.mid"/></ENTRY>
<ENTRY><REF HREF="adagio.mid"/></ENTRY>
</ASX>
ATENCION: Todas las líneas de los ficheros .asx deben comenzar justo junto al margen izquierdo, sin ningun espacio en blanco.

El código para mostrar la consola es el ya conocido, solamente cambia el fichero a reproducir, que puede incluir ficheros de distintos tipos:

<object height="300" width="350"type="application/x-mplayer2" data="lista.asx">
	<param name="src" value="lista.asx" />
	<param name="controller" value="false" />
	<param name="autostart" value="0">
</object>


[Indice]