modulo 10 midp 2.0 y mmapi 1.1

27
Utilizando MIDP 2.1 y MMAPI 1.1 Mobile Information Device Profile Mobile Media Application Programming Interface

Upload: carlos-brito

Post on 03-Jul-2015

435 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Modulo 10 MIDP 2.0 y MMAPI 1.1

Utilizando MIDP 2.1 y MMAPI 1.1

Mobile

Information

Device

Profile

Mobile

Media

Application

Programming

Interface

Page 2: Modulo 10 MIDP 2.0 y MMAPI 1.1

•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

Page 3: Modulo 10 MIDP 2.0 y MMAPI 1.1

Describir de manera general el contenido de

las API MIDP 2.0 y MMAPI 1.1

Objetivo

Page 4: Modulo 10 MIDP 2.0 y MMAPI 1.1

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

Page 5: Modulo 10 MIDP 2.0 y MMAPI 1.1

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)

Page 6: Modulo 10 MIDP 2.0 y MMAPI 1.1

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)

Page 7: Modulo 10 MIDP 2.0 y MMAPI 1.1

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)

Page 8: Modulo 10 MIDP 2.0 y MMAPI 1.1

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)

Page 9: Modulo 10 MIDP 2.0 y MMAPI 1.1

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.

Page 10: Modulo 10 MIDP 2.0 y MMAPI 1.1

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)

Page 11: Modulo 10 MIDP 2.0 y MMAPI 1.1

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.

Page 12: Modulo 10 MIDP 2.0 y MMAPI 1.1

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)

Page 13: Modulo 10 MIDP 2.0 y MMAPI 1.1

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

Page 14: Modulo 10 MIDP 2.0 y MMAPI 1.1

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.

Page 15: Modulo 10 MIDP 2.0 y MMAPI 1.1

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.

Page 16: Modulo 10 MIDP 2.0 y MMAPI 1.1

Captura de video y audio

• Requerimos JSR-135 Mobile Media API.

• Podemos realizara utilizando la interfaz

RecordControl.

Page 17: Modulo 10 MIDP 2.0 y MMAPI 1.1

Captura de video y audio (2)

• Requerimos JSR-135 Mobile Media API.

• Podemos realizara utilizando la interfaz

RecordControl.

Page 18: Modulo 10 MIDP 2.0 y MMAPI 1.1

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.

Page 19: Modulo 10 MIDP 2.0 y MMAPI 1.1

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.

Page 20: Modulo 10 MIDP 2.0 y MMAPI 1.1

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.

Page 21: Modulo 10 MIDP 2.0 y MMAPI 1.1

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

Page 22: Modulo 10 MIDP 2.0 y MMAPI 1.1

Preguntas del Simulador

Page 23: Modulo 10 MIDP 2.0 y MMAPI 1.1

Preguntas del Simulador (2)

Page 24: Modulo 10 MIDP 2.0 y MMAPI 1.1

Preguntas del Simulador (3)

Page 25: Modulo 10 MIDP 2.0 y MMAPI 1.1

Preguntas del Simulador (4)

Page 26: Modulo 10 MIDP 2.0 y MMAPI 1.1

Preguntas del Simulador (5)

Page 27: Modulo 10 MIDP 2.0 y MMAPI 1.1

Preguntas del Simulador (6)