Mobile Media API
The Mobile Media API (MMAPI) is an optional package that supports multimedia applications on J2ME-enabled devices. This standard Java specification, defined by the Java Community Process (JCP) in JSR 135, is highly flexible. It has been designed to run with any protocol and format; for example, it doesn’t specify that the implementation must support particular transport protocols such as HTTP or Real-Time Transport Protocol (RTP), or media formats such as MP3, MIDI, or MPEG-4
This article provides a technical overview of MMAPI’s architecture and APIs, followed by a tutorial in which sample code demonstrates how MMAPI can be used to build multimedia-rich wireless Java applications. A complete media player is developed, and steps for testing it are provided.
MMAPI has been designed to run on any J2ME-based virtual machine, including the CDC and CLDC VMs. Sun’s reference implementation runs on CLDC/MIDP for Windows 2000. The J2ME Wireless Toolkit comes with the MMAPI.
MMAPI’s developers designed into it the following features:
- Support for Tone Generation, Playback, and Recording of Time-Based Media: The package supports any time-based audio or video content.
- Small Footprint: MMAPI works within the strict memory limits of CLDC devices.
- Protocol- and Content-Agnostic: The API is not biased towards any specific content type or protocol.
- Subsettable: Developers can limit support to particular types of content, basic audio for example.
- Extensible: New features can be added easily without breaking older functionality. More importantly, additional formats can be easily supported, and the framework is in place for additional controls.
- Options for Implementers: The API offers features for different purposes. The API is designed to allow implementers to leave some features unimplemented if they cannot be supported.