Con la aparicin de Java Media Framework ha cambiado el panorama multimedia de Java. Gracias a que ya es posible desarrollar aplicaciones multimedia que utilicen audio y vdeo de una forma sencilla y prctica, sin perder por ello la compatibilidad que siempre ofrece Java. Hasta hace poco las posibilidades multimedia de Java eran bastante reducidas. Debido a estas carencias, se crearon grupos de desarrollo que generaban libreras para reproducir otros formatos de sonido, como por ejemplo MIDI. En cuanto al vdeo no exista nada. Qu es JMF? JMF (Java Media Framework) proporciona herramientas para la captura, procesamiento y almacenamiento de datos multimedia. Permite su transmisin y recepcin a travs de Internet. Ms concretamente permite: Reproducir ficheros multimedia en applets y aplicaciones, flujos multimedia recibidos en tiempo real a travs de la red y capturar audio y vdeo de un micrfono y una cmara de vdeo. Con JMF se abren todas las posibilidades multimedia, se reproduce de una forma sencilla la gran mayora de los formatos de audio, como WAV, MIDI, MP3, AU, etc. Captura sonido, reproduce streams de audio, etc. Todo esto mediante una de sus partes, Java Media Player, se pueden utilizar los distintos formatos de vdeo, como MPEG, AVI, MOV, captura streams de vdeo. Gracias a esta API, se pueden crear aplicaciones multimedia que antes se desarrollaban con Visual Basic, Delphi o similares, con la ventaja de la portabilidad, la orientacin a objetos y la integracin con el lenguaje. Qu es JMF? Arquitectura de JMF JMF funciona como una cadena de msica como un reproductor de CDs.
Entrada: Captura, lee un archivo o recibe de la red. Proceso: Aplica efectos (filtros), comprime o descomprime, convierte entre formatos. Salida: Dispositivo de salida, guardar en un archivo o enviarla por la red.
Entrada Proceso Salida Clases e interfaces de JMF
Las aplicacin JMF puede ceirse al siguiente esquema:
Data Source
Clase de javax.media.protocol, representa el origen de datos multimedia, encapsula informacin sobre su ubicacin, el protocolo para su transferencia al reproductor y el software para tratarlos. Soporta todo tipo de contenido multimedia.
Player
Interface de javax.media, acta como gestor de datos multimedia, asegura que lleguen adecuadamente al dispositivo de salida y no hace falta un reproductor especfico para cada tipo de datos. Tiene asociados controles para actuar sobre los datos multimedia que est procesando, antes de que el fragmento pueda reproducirse, el Player debe pasar por una serie de estados.
Processor
Es un tipo de reproductor, subinterfaz de javax.media. Player aporta dos caractersticas suplementarias; Puede volcar los datos procesados en un cdigo fuente, en lugar de en un dispositivo de salida. Y cambiar de formato lo datos.
DataSink
Es una interfaz de javax.media que enva los datos a un destino distinto de los dispositivos de salida, como un fichero o un flujo de salida RTP.
Format
Es una clase de javax.media que modela el formato de los datos multimedia, tiene dos subclases: AudioFormat: Encapsula informacin sobre el formato de datos de audio: Frecuencia de muestreo. Nmero de bits por muestra. Nmero de canales. VideoFormat: Encapsula informacin sobre el formato de datos de vdeo.
Manager
Es una clase Final de javax.media que contiene mtodos estticos para crear instancias de todas las interfaces y clases anteriores.