Java Reference
In-Depth Information
handles fetching data itself by downloading it to a temporary file and
playing the audio when the download is complete.
To allow easy customization by licensees, the Java ME multimedia
system was designed on similar principles to LCDUI: the implementation
splits into the multimedia core framework, 7 which contains the Java code,
and generic native code that is responsible for loading and invoking
methods in a customizable DLL. 8 The customizable DLL contains all
dependencies on the native multimedia subsystem. For example, the
controls that should be added to each player depend on the MMF API
used; it is a decision that is taken at compile time and can be customized
by licensees. A set of C++ interfaces and factory classes isolate the MMAPI
core framework from the customizable DLL.
An issue that has not yet been discussed is the integration of JSR-135
with LCDUI, for the purpose of playing video content, for example. In the
above code snippet, the MIDlet displays the view of the camera on the
MIDlet display area. As discussed in Section 11.5.3, the LCDUI widgets
and low-level rendering are performed in two customizable DLLs. To
enable content rendering on the screen, such as a video clip or camera
view finder, the native implementation of Canvas or CustomItem in
the two DLLs must satisfy an interface contract which is used by the
MMAPI native implementation to pass the content to be rendered in the
MIDlet display area.
Conclusion
The native multimedia subsystem was designed to be extendable and
customizable in order to handle the many multimedia types and content
formats that exist, to enable adding new types and formats that are
constantly being introduced and the many diverse methods to store and
deliver these various media types.
This section demonstrates that the JSR-135 MMAPI and JSR-118 MIDP
2.0 Media API integration with the underlying Symbian OS multimedia
subsystem is designed to meet the requirements necessitated by demands
of media-centric and high-performance Java applications. In that sense,
the integration is not only mandatory but also ensures consistent behavior
and the required customizability.
Access to hardware is usually restricted to supervisor-mode code.
A Symbian OS user-side application that needs access to peripheral
resources can do so only through the native Symbian OS subsystem
that governs the supported functionality, using its exposed frameworks
and APIs. Specifically,
the Java ME subsystem, which is a user-side
7 The MMAPI
framework is under
\ src \ common \ generic \ j2me \ components \
multimediammf \
in the Symbian OS source repository.
8 The MMAPI plugin is under
\ src \ common \ generic \ j2me \ plugins \ refmulti-
media \
in the Symbian OS source repository.
Search WWH ::




Custom Search