Learn advanced multimedia Java programming with the first comprehensive guide to the Java Media Framework. Soup-to-nuts coverage is given of Java Media Display to help professional developers to get the job done fast.
"synopsis" may belong to another edition of this title.
What This Book Is About
This book describes the Java Media Framework (JMF) API and how to use itto integrate audio and video playback into Java applications and applets.The JMF API consists of three pieces: playback, capture and video conferencing.This book covers only the first piece, specifically, the Java MediaPlayer API.
This book does not stop at the API, however. It also discusses the differentimplementations of that API, how they differ, and even their failure to conformto the API. Where the API is open to interpretation, a discussion of variousinterpretations is undertaken.
This discussion appears in the context of developing a framework for build-ingyour own custom Player implementation. The framework code appearingin this book provides all the API-compliance code necessary for building anAPI-compliant Java Media Player, leaving you to focus on the media-specificcoding issues.
Finally, this book has sprinkled throughout examples from the EssentialJMF Toolkit, a collection of reusable Java classes for many multimedia occasions.1
Who Should Read This Book?
1Cocktail parties, bar mitzvahs, baptisms, etc.
Who Should Buy This Book?
Structure of This Book
This book contains four distinct parts. We have even named the parts andinserted a decorative page between them so there is no doubt as to which iswhich.
Part I, "Using the Java Media Framework," comprises the first ten chapters.Part I was written for the reader who wants to learn to use the JMF Player.After finishing Part I, you will know all there is to know about using a Playerfor playback of currently supported media types.
If that is not enough to satisfy you, Part II, "Extending the Java MediaFramework," will show you how to build a complete Player to support a newmedia type. Not only will Part II show you how to do this, but when you arefinished, you will have a good deal of code available to use with still newerand more exciting media types.
In addition, Part II covers the building of a custom GUI for a Player, againproviding lots of reusable code. And, if that were not enough, Part II coversthe creation of a new DataSource for support of an actual protocol, the NNTPprotocol for downloading articles from news groups. Put together the customPlayer and DataSource developed in Part II and you have a Java Media Playerfor reading articles from your favorite news group. Strange, but elegant!
In Part III, "Building JMF Applets and Applications," a simple media mixerapplication is presented. Using this application you can generate HTML forinclusion in your web pages that need to playback multiple media sources.The MultiPlayer class, also presented in Part III, can then be dropped rightinto your applet to play the media described by the HTML.
The books finishes up with a collection of appendices in Part IV. Hereinyou will find complete reference material for the JMF API and the EssentialJMF Toolkit. There is also a discussion of the use of the JMF with variousbrowsers, some potentially useful URL resources and a virtual glossary, toboot.
Using This Book
The first three parts of this book can, more or less, stand alone. If you do nothave an immediate need to create your own Player, reading Part I and referencingthe appendices as needed will meet your needs.
If you need to create your own custom Player to support a new media format,Part II is for you. If you are in a real hurry, you may be able to get by withjust reading Chapter 18, "Creating a Custom Player." You can at least startthere and refer back to earlier chapters in Part II as necessary. In any case,understanding Part II really depends upon having the knowledge and wisdomcontained in Part I. If you did not get such knowledge from somewhere else,you may as well get it from there.If you need an easy way to play multiple media files from an applet, godirectly to Part III.
Part IV is the work horse section of the book: It is there when you need it,ready and willing.
We recommend you do not read this book backwards. We cannot guaranteethat there are no hidden, satanic messages.
Gathering the Pieces
To derive the fullest benefit and pleasure from reading this book, you willneed to have the following pieces of software installed on your computingdevice.
A version of the JDKThe Swing component set from the Java Foundation ClassesAn implementation of the JMFThe Essential JMF example source and Toolkit
A section is dedicated to the acquisition and installation of each of thesepieces. In addition to this software, there is the presumption that some fundamentalsoftware already exists on your computer, specifically, the necessaryaudio and video device drivers. For Solaris and Windows machines that havenot been butchered by an overzealous system administrator, this a safeassumption.
To use Sun's implementation of the JMF, you will first need to have installedsome flavor of JDK 1.1.x.If you still have a versionof JDK 1.02 sitting around and will only be using Intel's JMF, you are set.However, to use the examples included with this book, you will need JDK 1.1.
As part of installing your JDK, you will want to set the JDK_HOME environmentvariable to reference the directory in which the JDK was installed. Thisenvironment variable is referred to in later discussions.
Since all the GUI code written for this book uses Swing components, you willneed to have the Swing jar files installed on your system.
The Swing component set is available from The Swing Connection.The downloaded file is a ZIP filecontaining jar files for different platforms. After unzipping the downloadedfile, say in /jfc (d:\jfc for Windows), you will want to change yourCLASSPATH as shown below, depending on which platform you are running.Swing on Solaris
On Solaris, you will want to include swing.jar in your CLASSPATH. Forexample, using ksh, type:
% export CLASSPATH="/jfc/swing.jar:$CLASSPATH"
Swing on Windows
If you are running on a Windows machine and want the Windows Look &Feel, you will also need to add windows.jar to your path.
% set CLASSPATH=\
Including only swing.jar file in your CLASSPATH will give you the Java(or Metal) Look & Feel.
If you are new to Swing, there is more information on the above topics inthe README file that comes with the Swing distribution and resides in theinstall directory.
You can obtain a copy of a JMF implementation from either Sun or Intel. Ifyou will be using JMF on Solaris, you are limited to Sun's implementation. Ifyou will be running on Windows 9x or Windows NT, you can choose betweenSun and Intel.For example, if youhave downloaded the JMF distribution file into /home/me/tmp and you wantto install JMF in /home/me/jmf, you would perform the following steps:
% cd /home/me
% sh /home/me/tmp/jmf101-solaris2-sparc.bin
% export JMFHOME=/home/me/jmf
The JMF will now be installed in /home/me/jmf and the JMFHOME environmentvariable will have the value /home/me/jmf.
The following table describes the recommended configuration for usingSun's JMF on a Solaris platform.
Up-to-date installation instructions and system requirements can be foundin $JMFHOME/html/setup.html after you have downloaded and installedthe JMF. This file also contains instructions for running the sample code thatcomes with the JMF distribution.
Before using Sun's JMF on Solaris, you need to augment two environmentvariables. First, you must add the JMF classes to your CLASSPATH.
% export CLASSPATH="$JMFHOME/lib/jmf.jar:$CLASSPATH"
You must also modify your LD_LIBRARY_PATH variable so that the JavaVirtual Machine (JVM) can find the native libraries required by the JMF.
% export LD_LIBRARY_PATH="$JMFHOME/lib:$LD_LIBRARY_PATH"
Installing Sun Implementation on Windows
Sun's JMF for Windows 9x and Windows NT is installed using InstallShield.Simply double-click on the downloaded file and the installation begins. Notethe name of the directory in which you install the JMF and set the JMFHOMEenvironment variable to this value. This environment variable is referred tothroughout this Preface.
The following table describes the recommended configuration for usingSun's JMF on a Windows machine.
Up to date installation instructions and system requirements can be foundin $JMFHOME/html/setup.html after you have downloaded and installedthe JMF. This file also has instructions for running the sample code that comeswith the JMF distribution.
Before using Sun's JMF on a Windows machine, you need to augment twoenvironment variables. First, you must add the JMF classAbout the Author:
Rob Gordonis a software consultant for Sun Microsystems, Inc., serving on the JMF development team. He has extensive experience as a Java software developer and as a developer of educational materials on advanced information technology.
Stephen Talleyis a software engineer for Sun Microsystems, Inc., and a member of the JMF development team.
"About this title" may belong to another edition of this title.
Book Description Prentice Hall, 1998. Paperback. Book Condition: New. book. Bookseller Inventory # M0130801046
Book Description Prentice Hall, 1998. Paperback. Book Condition: New. Never used!. Bookseller Inventory # P110130801046