Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Introduction to Java media programming

Learn the basics of Java-based multimedia with the Java Media and Communication APIs

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Java as a versatile programming language has gained widespread acceptance in the two-plus years since its introduction. It is widely espoused as having the usual benefits with which we are all familiar: cross-platform portability, a fairly secure runtime environment, strong networking and connectivity APIs, and so on.

However, no one could credibly argue that the Java platform as we know it (the 1.0 and 1.1 core platforms) is a multimedia power house. In fact, far from offering a robust set of multimedia APIs, Java as a platform still is adding a great many features and gaining acceptance. Media support is only now beginning to roll into the core platform (as part of the upcoming 1.2 release, which will include the Java 2D API and Java Sound engine).

These developments show promise for Java's media capabilities. In future installments of this column we'll be exploring the many aspects of this promise.

History of media support (or lack thereof) in Java

Historically, Java has provided weak support for multimedia. The JDK 1.0 and JDK 1.1 core platform releases provided minimal support for sound in applets and no official support of sound in applications. In addition, Sun provided no support for video manipulation, streaming media capture or playback, 2D or 3D graphics (except through the use of basic drawing primitives), or numerous other advanced multimedia services.

Java Platform Availability Media support
1.0 (1995 initial release) All browsers, OSs, IDEs (wide availability) Primitive 2D (AWT); limited audio (applets only); no video, 3D, telephony, or speech
1.1 (1997 release) Some browsers, OSs, IDEs (still has problems one year later) Same as 1.0 release
1.2 (September 1998) Not yet released (no availability except beta from Sun) Adds Java 2D, Java Sound Engine; still no built in video, 3D, telephony, or speech


Media support in the Java platform, at least in any well-organized form, historically has been nil. Sun and its partners have set out to change this -- and to complete an important piece of the Java-as-a-platform puzzle -- by designing and implementing the Java Media and Communication APIs.

The Java Media and Communication APIs

There are a number of APIs that fall within the purview of media and communications. These, and what they enable in the Java platform, include:

  • Java 2D -- 2D graphics and image manipulation
  • Java 3D -- 3D graphics runtime
  • Java Media Framework -- playback of synchronized media
  • Java Sound -- software sound processor and MIDI synthesizer
  • Java Speech -- speech recognition and synthesis
  • Java Telephony -- computer and telephony integration


Sun has also discussed several less well-defined Media APIs, both at JavaOne in March 1998 and in previous public forums:

  • Java Advanced Imaging -- advanced 2D image processing.
  • Java Animation -- 2D Animation.
  • Java Collaboration -- media data sharing.


(Please refer to the Resources at the end of this column for the location of Java Media-related presentation materials from this year's JavaOne conference.)

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources
  • Sun's Java Media home page contains links to the various individual API pages, whitepapers, and more. The definitive source for Media and Communications API information. http://java.sun.com/products/java-media/index.html
  • Sun's Java Media and Communications whitepaper gives a decent overview of the APIs, as of October 1997. http://java.sun.com/marketing/collateral/media.html
  • A significant number of technical sessions and BOFs discussing Java Media were offered at JavaOne 1998. Sun has put the presentation materials from the sessions online. Such materials can serve as a good reference as to where the technology is at and where Sun sees it headed. http://java.sun.com/javaone/javaone98/tracksTOC.html#06
  • I wrote a short news piece reporting on Java Media-related announcements at JavaOne. http://www.javaworld.com/javaworld/javaone98/j1-98-newmedia.html
  • I also wrote an article for the September 1997 issue of JavaWorld that discussed Java Media at the time and its presence at the Siggraph97 conference. http://www.javaworld.com/javaworld/jw-09-1997/jw-09-siggraph.html
  • A previous Java Media Framework article (JavaWorld, April 1997) was based upon a beta version of the API, and is rather dated in places. Nonetheless, it gives you an idea for how one of the major Media APIs might be used. http://www.javaworld.com/javaworld/jw-04-1997/jw-04-jmf.html