|
Práctica 3 |
Introducción a Java Media Framework (JMF) |
ObjetivosEn esta práctica empezaremos a trabajar con el API de Java Media Framework, una librería multimedia sencilla adaptada a Java. El trabajo consistirá en la implementación de un reproductor multimedia muy sencillo.Toma de contactoConfiguración del entornoPara trabajar con JMF, es necesario configurar tanto el entorno de desarrollo como el entorno de ejecución. Esto es así porque JMF no forma parte de la instalación estándard de Java. Hay diferencias entre Linux y Windows, vamos a ver cada una. WindowsPara la instalación en Windows, usaremos este jar: Copiad el .jar a vuestro directorio para la práctica para tenerlo disponible. JGRASP tiene una opción para configurar el CLASSPATH del proyecto. Debereis configurar esa opción y añadir el jmf.jar para que el entorno encuentre la librería a la hora de compilar y ejecutar. LinuxPara que JMF funcione correctamente en Linux, es necesario instalar lo que Sun llama "Linux Performance Pack". Esto es una librería java (un .jar) y una serie de librerías nativas que implementan los codecs. El siguiente archivo comprimido contiene todo lo necesario para compilar y ejecutar aplicaciones JMF en Linux: Lo vamos a instalar en vuestro directorio de usuarios para que lo podais usar en prácticas sucesivas. En una consola (terminal), escribid el comando "cd". Esto os lleva directamente a vuestro directorio de usuarios. Copiad en ese directorio el fichero jmf-lib.tgz. Podeis hacerlo sencillamente con right-click en el enlace y salvando desde el navegador en el directorio "Home". Una vez ahí, si haceis "ls" en la línea de comandos, vereis el fichero tgz. Para descomprimirlo, "tar -xvzf jmf-lib.tgz". Esto os creará un directorio llamado jmf-lib en vuestro directorio home. En ese directorio vereis que hay varias librerías .jar (librerías de Java) y varias librerías dinámicas de Linux (.so). Hay configurar Eclipse para que sepa dónde están las librerías Java. Esto se hace en Project->Properties->Java Build Path, bajo el tag "Libraries". Por último, hay que decirle dónde están las librerías nativas. Esto se hace en Run->Run... , y bajo el tag "Environment" añadimos una variable de entorno: LD_LIBRARY_PATH, que debe apuntar a jmf-lib. En mi máquina valdría esto: /usr/lab/asig/labsimitis/practicas/p3/jmf-lib EjemploAntes de empezar a trabajar en una implementación propia, podéis revisar el siguiente ejemplo para ver un reproductor funcionando: Este pequeño reproductor permite abrir archivos de audio o vídeo y reproducirlos. Si compiláis y ejecutáis el ejemplo siguiendo las indicaciones del apartado anterior, podréis verificar que JMF está configurado correctamente. Nuestro propio reproductorA partir de esta práctica, vamos a ir construyendo un reproductor multimedia. En esta sesión empezaremos por las funciones más básicas:
Al igual que en prácticas anteriores, el punto de partida es un esqueleto que ireis completando con funciones nuevas. Estas son las clases que componen el esqueleto del reproductor:
Vuestra misión en esta práctica es completar la implementación de PlayerFacade para que el media player funcione. Para ello, tenéis a vuestra disposición toda la potencia de JMF. Nota: No debería ser necesario tocar código fuera de la clase PlayerFacade. Referencias |