modulo 10 midp 2.0 y mmapi 1.1

Post on 03-Jul-2015

435 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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)

top related