Multimedia in mobile application development

Many multimedia types and formats exist in today's market, and new types and formats are being introduced all the time. There are many diverse methods to store and deliver these various media types. For example, there are traditional storage devices (such as disk file systems, CDs, and DVDs), wired protocols (UDP, HTTP, etc.) and wireless protocols (WAP, etc.).

Java Platform Micro Edition™ (Java ME) devices range from cell phones with simple tone generation to PDAs and web tablets with advanced audio and video rendering capabilities. To accommodate diverse configurations and multimedia processing capabilities, APIs with high level of abstraction are needed.

The javax.microedition.media package of the Mobile Information Device 2.0 (JSR-118) specification is a directly compatible building block of the Mobile Media API (JSR-135) and enables sound support through the Mobile Media API. This means that tones can be played individually or as a series of tones. In addition, playing sampled audio, such as WAV files, is supported if the device allows this.

The Mobile Media API (MM API) (JSR-135) specification provides more features than the javax.microedition.media package. The API enables, among others, displaying images and playing video and audio clips in Java™ applications.

The Advanced Multimedia Supplements API for J2ME (AMMS API) (JSR-234) is built on top of the MMAPI. The AMMS API adds many new controls and several new extensions to the MMAPI framework, such as audio effects, better support for digital cameras, format control, multimedia post-processing and image processing methods, and tuners.

Protocol and Content Handling

Multimedia processing can be broken into two parts:

  1. Handling the data delivery protocol

    Protocol handling refers to reading data from a source (such as a file, capture device, or streaming server) into a media processing system.

  2. Handling the data content

    Content handling usually requires processing the media data (parsing or decoding, for example) and rendering the media to output devices such as an audio speaker or video display.

Tone Generation

Tone generation is important for games and other audio applications. On very small devices, it is particularly important since it is likely to be the only form of multimedia capability. In its simplest form, tone generation reduces to a single buzzer or some simple monophonic tone generation.


The MMAPI (JSR-135) provides support for a camera. From the API point of view, a camera attached to a device doesn't really differ from any other video content.

UI orientation forcing for camera player

UI orientation is forced to landscape mode when the camera player is realized. The orientation remains in landscape mode until the camera player is closed. This behavior overrides other UI orientation fixing requests, such as using the JAD attributes Nokia-MIDlet-App-Orientation. Thus, the Java camera player behaves similarly to a native camera application.

Advanced Audio Features

The Advanced audio features of the Advanced Multimedia Supplements (AMMS) give the application programmer tools for creating effects such as 3D audio localisation, reverb, and equaliser (EQ).

Effects Framework

The AMMS API provides the means to specify effects and their order. This is loosely called here the Effects Framework.

Developer's guides

The following Developer's guides are available on working with multimedia in this section.

Last updated 9 October 2013

Back to top