by Gregory S. Smith

Sound and Fury

news
May 1, 19973 mins
DriversJavaJava SE

JavaSoft puts the "multi" in multimedia controls

JavaSoft unveiled its ambitious plans to bring a wide range of media and communication services to the Java platform including 2D, 3D, audio, video, interactive collaboration, speech synthesis, and telephony. While many engines are available for Java developers today, this framework offers developers a consistent model and API as well as the availability of common tools on every Java machine. For some of the services, like speech and telephony, these APIs provide a common way of accessing services โ€” if the user has the necessary engine installed.

This first of the new APIs will be Java 2D, which will add to the java.awt and java.awt.image packages. These additions should provide developers with Postscript-like control over line art, text, and images. Among the graphics primitives, youโ€™ll find Bezier curves, stroking parameters for lines, and transforms as well as compositing, arbitrary fill styles, and other rendering attributes. Java 2D also will significantly extend Javaโ€™s font support and text layout capabilities. Imaging and color management (including International Color Consortium [ICC] profiles and color space conversion) also should make it into the first release. JavaSoft expects to release an early implementation this quarter.

On about the same timeline, JavaSoft will release Java 3D. This set of layered abstractions lets programs define scenes, objects, and behaviors in a consistent way.

On the media front, Sun announced it will license sound engine technology from Headspace. Founded by composer and recording artist Thomas Dolby, Headspace has been developing interactive audio technology that allows audio presentations to respond to user feedback, like scripting changes in the audio as users hover over a button or move through a presentation. Exposed through the Java Media Player, developers can control and synchronize audio and video including streaming feeds. The API is still in beta, but JavaSoft promises an early implementation this summer.

Complementing the player API are a media capture API and a media conferencing API, neither of which has progressed to a publicly available specification.

The Java Animation API, details of which should be available this summer, will provide a consistent interface for composing (including stacking order control), timing, and synchronizing the animation of 2D objects.

The Java Speech API exposes a common interface through which applications can use different speech engines. The model supports three contexts: speech synthesis where a computer can read an arbitrary stream of characters; command and control for using short phrases to control an application; and dictation. The command-and-control abstractions are particularly interesting in that they allow you to define both words and patterns or grammar for using these words to control an app. We should see an early implementation of the Speech API this summer.

The last of the new APIs is the Java Telephony API. Like the Speech API, this API provides a uniform interface to telephony services and abstracts the call model for use in Java. The Telephony API has gained the support of most of the telephony industry, including Intel, IBM, Nortel, Lucent, and others. It seems likely that bridges to those vendorsโ€™ systems wonโ€™t be far behind the implementation of this API.

Gregory S. Smith is a freelance writer and network consultant based in San Francisco. He specializes in guiding organizations in the design and deployment of intranets and other collaborative technologies.