Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que trata o artigo:

O artigo apresenta os principais recursos da Mobile Media API, sendo este um pacote opcional da plataforma Java ME que permite a utilização de mídias em aplicativos mobile. Após a apresentação dos conceitos básicos desta API, será desenvolvido um aplicativo de agenda, que permite a inclusão de vídeos e fotos para os contatos da agenda. Além disso, ao longo do texto são apresentados alguns outros recursos disponíveis na MMAPI. Dessa maneira, o leitor terá condições de construir software com recursos multimídia, podendo ser muito útil no desenvolvimento de jogos para dispositivos móveis ou em aplicativos mais sofisticados.


Para que serve:

Para apresentar os principais recursos da MMAPI, permitindo ao leitor desenvolver software com Java ME que façam uso de multimídia.


Em que situação o tema é útil:

Em qualquer situação onde o programador precise criar um aplicativo mobile com recursos multimídia.

Autores: Ricardo Ogliari e Robison Cris Brito

Nos últimos anos, observou-se uma grande evolução na interface gráfica dos aparelhos móveis, bem como a tendência dos usuários destes devices os utilizarem como players de música ou vídeo.

Pode-se citar como exemplo o sucesso que os primeiros IPODS tiveram no passado, ou ainda, na proliferação de aparelhos estilos MP2, MP3, MP4 e MP156. Entretanto, a tendência é a centralização desses recursos multimídias em aparelhos celulares, que hoje permitem a execução de músicas, vídeos, capturas de imagens e ainda possuem recursos tradicionais dos celulares, como realizar ligações e enviar mensagens de texto/multimídia.

Além disso, o sucesso dos aplicativos RIA (Rich Internet Application) começaram a se estender para a plataforma mobile. Alguns exemplos são o JavaFX Mobile e o Widget, sendo que este último está recebendo apostas de grandes fabricantes, como a Nokia. Resumidamente, os widgets são páginas web que rodam como aplicativos em telefones celulares e/ou smartphones. Isso reforça a tendência de que os celulares possuem a cada dia uma interface mais rica e com recursos multimídias mais aprimorados.

Com relação à interface gráfica do usuário, a Sun Microsystems disponibilizou o framework LWUIT (Lightweight UI Toolkit) para tornar a plataforma Java ME mais atrativa graficamente. Até então, recursos gráficos e multimídia eram limitados em aparelhos celulares devido ao seu pequeno poder de processamento e armazenamento, mas isso está mudando. Com os novos aparelhos celulares, com processadores que superam 300 MHz, tornou-se possível utilizar recursos até então disponíveis apenas em PCs.

Dessa maneira a MMAPI, também conhecida como Mobile Media API ou JSR-135, passou a ser utilizada em muitas aplicações multimídia para celular, sendo inclusive lançada uma versão mais aprimorada chamada Advanced Multimedia Supplements (JSR 234).

Neste artigo serão apresentados os conceitos básicos da JSR 135, por esta ser mais tradicional e suportada por mais dispositivos. Para exemplificar o uso desta API, será desenvolvido um estudo de caso: uma agenda multimídia em Java ME. Esta permitirá que uma foto ou vídeo seja adicionado ao contato armazenado pela aplicação.

Mobile Media API – JSR 135

A Mobile Media API foi a primeira API a fornecer recursos multimídia para a plataforma móvel, seu release foi entregue à comunidade em 2002 e desde então seu número de usuários não parou de crescer. Já sua evolução, a Advanced Multimedia Supplements, data de 2005.

A Mobile Media API, agora por diante referenciada por MMAPI, foi projetada de tal forma que suporta um grande número de protocolos de conteúdo de mídia. Além disso, a API permite desde a geração simples de tons monofônicos, até protocolos de vídeo em tempo real, como RTSP (Real Time Streaming Protocol).

Entretanto, existem diferentes maneiras de trabalhar com informações multimídia. Para minimizar os problemas com a portabilidade do aplicativo, a MMAPI possui métodos para capturar os recursos disponíveis no aparelho onde o aplicativo será executado. Por exemplo, é possível identificar em tempo de execução, através das propriedades do sistema, se o aparelho permite a captura de imagem, ou se o aparelho possui uma câmera digital, ou ainda se o mesmo suporta reprodução de vídeo. Esse recurso permite que o programador saiba o que pode ser utilizado na plataforma em execução (ver Nota DevMan 1).

Nota DevMan 1. Propriedades do sistema

Através das propriedades do sistema, um aplicativo pode saber uma grande quantidade de informações sobre as mídias compatíveis com o aparelho, como gravação de áudio e vídeo e playback de diversos tipos de mídia. Esses recursos podem ser disponibilizados dinamicamente através de menus, suportando assim as ações que a implementação da API permite, omitindo as que não são compatíveis com o aparelho.

A arquitetura básica da Mobile Media API é simples. A classe Manager é utilizada para criar uma instância da classe Player. Esta é responsável pela reprodução de uma mídia e recebe como parâmetro uma fonte, especificada pela classe DataSource.

A classe Player é a responsável por efetuar as ações com os dados multimídia, como, apresentar no display do celular a câmera do aparelho ou tocar arquivos de som. Além disso, a API fornece classes que são chamadas de controles (Control), como: FramePositionControl, GUIControl, MIDIControl, PitchControl, RecordControl, StopTimeControl, ToneControl, VideoControl e VolumeControl, dentre outros.

A maioria dos controles são auto-explicativos. Por exemplo, a VolumeControl permite que o desenvolvedor aumente e abaixe o volume da mídia que está sendo executando. A Figura 1 mostra uma representação gráfica da MMAPI para a arquitetura MIDP.

...

Quer ler esse conteúdo completo? Tenha acesso completo