Many multimedia types and formats exist in today's market, and new types and formats are being introduced all the time. There are also 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 EditionTM (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 JavaTM 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:
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.
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.
Camera
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.
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 localization, reverb, and equalizer (EQ).
Effects Framework
The AMMS API provides the means to specify effects and their order. This is loosely called here the Effects Framework.
The following developer's guides are available on working with multimedia in this section.