Post on 03-Jul-2015
Utilizando MIDP 2.1 y MMAPI 1.1
Mobile
Information
Device
Profile
Mobile
Media
Application
Programming
Interface
•Objetivo
•Desarrollo del contenido
•Soporte multimedia enMIDP 2.0
•DataSource
•Manager
•Player
•Captura de Audio y Video
•Propiedades del Sistema para Multimedia
•Resumen de Clases para el manejo de multimedia con
MIDP 2.0 y MMAPI 1.1
•Comentarios finales a través del simulador
Contenido
Describir de manera general el contenido de
las API MIDP 2.0 y MMAPI 1.1
Objetivo
Sonidos monotónicos pueden ser producidos
con:
Manager.playTone(int nota, int duracion,
int volumen)
- nota .- puede variar de 0 a 127
- duracion .- expresada en milisegundos
- volumen - de 0 a 100 (porcentaje del
volumen actual)
Desarrollando código para utilizar tonos
IllegalArgumentException
Es lanzada si la nota o la duración esta
fuera del rango
MediaException- se lanza, sí el tono no
puede ser reproducido por algún problema
relacionado al dispositivo
Desarrollando código para utilizar tonos (2)
Para sonidos de mayor complejidad, es a través de
un reproductor de secuencias Tone.
Player p=
Manager.createPlayer(Manager.TONE_DEVIC
E_LOCATOR)
- TIENE que implementar ToneControl y
DEBERÍA implementar las interfaces
VolumeControl y StopTimeControl
Desarrollando código para utilizar tonos (3)
ToneControl.SILENCE
VolumeControl establece el volumen del Player
0>= y <=100
Qué pasa si ponemos un valor menor a 0?
Qué pasaría si ponemos 120?
Desarrollando código para utilizar tonos (4)
TimeControl detiene Player después de cierto tiempo. Es como un
la función de sleep en la TV
Una vez que el Player es detenido, el tiempo de stop es reseteado. O
también se puede con la constante RESET.
Un IllegalStateException, se lanza sí se estableció el tiempo en
que se debe de detener el Player, y posteriormente se intenta llamar al
método setStopTime(int tiempo)
Desarrollando código para utilizar tonos (5)
MIDP 2.0 soporte para media
Es un subset de la MMAPI. Por lo
tanto es compatible con MMAPI 1.1
MIDP 2.0 soporta sólo audio. Los
controles gráficos y de video son
excluidos.
Clase Función Diferencia con MMAPI 1.1
Manager Sirve para crear Players No soporta DataSource
Player Ejecuta archivos de media Subset de características , no
soporta MIDI
Control Interfaz para control de media
ToneControl Controla el formato tonos por
secuencia
VolumeControl Controla el volumen
Controllable Super-interface para Player No SourceStream sub-
subinterface
PlayerListener Listener para los eventos del Player Subset of features
MIDP 2.0 soporte para media (2)
DataSource
DataSource es una clase abstracta que
puede ser extendida, para crear streaming
de contenido personalizado.
Extensiones de DataSource son preferible
sobre objetos InputStreams, ya que tienen
la capacidad de brincar a un tiempo
especificado del contenido.
DataSource (String locator) crea un objeto para
un locator URL
DataSource.connect() para conectar con la
fuente
DataSource.start() iniciar la transferencia de
datos
DataSource.stop() detiene la transferencia de
datos
DataSource.disconnect() desconectar de la
fuente
DataSource (2)
Manager
El Manager es una «fábrica» para crear
Players basados en el tipo de contenido
asociado al stream.
Manager.createPlayer() puede recibir
String, con la dirección URL
Manager.playTone() reproduce un tono
Player
• Se encuentra en el paquete
javax.microedition.media
• La Interfaz Player hereda de Controllable.
• Reproduce datos multmedia (video, audio, etc..).
Figura 1. Ciclo de vida de un Player.
UNREALIZED
Cuando crea un Player
No hay info completa
Invocación a(causa
IllegalStateException)
getContentType()
set/getTimeBase()
setMediaTime()
getControls()
getControl()
REALIZED
Hay información
completa.
No se puede pasar a
UNREALIZED
PREFETCHED
Listo para iniciarse.
STARTED
Ha iniciado.
Llamadas a (
IllegalStateException)
setTimeBase()
setLoopCount()CLOSED
Libera recursos.
Player (2)
• El metodo Player.setMediaTime(): colocar
el puntero de reproducción de manera
aleatoria en un tiempo específico.
• Adelantar o regresar la reproducción de los
datos a un minuto específico.
• La cantidad de veces que se puede repetir
la reproducción está entre 1 y 127.
Colocamos un –1 para indicar que se
reproducirá de manera indefinida.
Captura de video y audio
• Requerimos JSR-135 Mobile Media API.
• Podemos realizara utilizando la interfaz
RecordControl.
Captura de video y audio (2)
• Requerimos JSR-135 Mobile Media API.
• Podemos realizara utilizando la interfaz
RecordControl.
Clases en MIDP 2.0 y MMAPI 1.1
• Controllable.
– Player implementa la interface y reproduce
multimedia. TimeBase es utilizada por el Player
para controlar el tiempo.
– SourceStream implementa la interface y
proporciona un soporte para un protocolo común.
No está en MIDP 2.
– DataSource proporciona protocolos multimedia
comunes. No está en MIDP 2.0.
• Manager es la fábrica para implementar los Player
– Constantes para una secuencia de tonos
(TONE_DEVICE_LOCATOR) para MIDI
(MIDI_DEVICE_LOCATOR). MIDI no se soporta
en MIDP 2.0.
Clases en MIDP 2.0 y MMAPI 1.1
• Control es la interface padre de todos los controles que
puede implementar el Player.
• Controles de Audio
– ToneControl controla el formato de la secuencia de
tonos. Soportado en MIDP 2.0.
– VolumeCntrol controla el volumen del Player.
Soportado en MIDP 2.0.
– MIDIControl controla la reproducción de los MIDI.
– PitchControl controla el tono de una nota MIDI
– TempoControl controla el tiempo de una nota MIDI.
• Controles de Video
– VideoControl controla la reproducción de video.
– FramePositioningControl controla la formación del
video.
Clases en MIDP 2.0 y MMAPI 1.1
• Controles generales
– StopTimeControl permite cambiar el tiempo de
espera predeterminado.
– RateControl es usado en conjunto con TimeBase
para ajustar el tiempo utilizado por el Player.
– GUIControl es usado para mostrar una interfaz de
usuario para el Player asociado.
– RecordControl es usado para grabar el multimedia
reproducido por el Player.
– MetaDataControl puede ser utilizado para obtener
algunos meta-datos acerca del contenido
multimedia.
• PlayerListener es la interfaz listener que puede ser
implementada y registrada para los eventos del Player.
Propiedades del sistema para Video y Audio
Propiedad Descripción
supports.mixing
True o False. Se soporta la reproducción de cuando menosdos tonos simultáneos
supports.audio.captureTrue si la captura de audio essoportada
supports.video.captureTrue si la captura de video essoportada
supports.recordingTrue si se puede grabar datosmultimedia
audio.encodingsRegresa el formato de captura de audio soportado
video.encodingsRegresa el formato de captura de video soportado
video.snapshot.encodings
Regresa el formato de captura de imagen soportado
Preguntas del Simulador
Preguntas del Simulador (2)
Preguntas del Simulador (3)
Preguntas del Simulador (4)
Preguntas del Simulador (5)
Preguntas del Simulador (6)