Intel JMedia Player
Technical FAQ
Version 1.3.1
Q. Should I uninstall a previous version of the
JMedia Player before installing the latest version?
Q: How can I verify that the JMedia Player is completely uninstalled?
Q: I want to make sure that I have installed the runtime correctly. Where
should I look for the JMedia Player runtime files?
Q: I want to make sure that my environment is set up correctly to run JMF
applets and applications. What should my environment look like?
Q. When I run the Validation Test applet in Internet Explorer*, I get the
following error message: java.lang.SecurityException.
Q. When I run the Validation Test applet in Netscape Navigator*, I get the
following error message: Applet can't start: class MediaValidationApplet
got a security violation. How can I fix it?
Q. When I run the Validation Test applet in Netscape Navigator, I get
the following error: java.lang.NoClassDefFoundError.
Q. I get the following error message from Internet Explorer: java.lang.UnsatsifiedLinkError.
Q. How do I create a Player?
Q. Do I need to use getVisualComponent()
to display the Player?
Q. In setMediaTime() and setStopTime()
argument, should I specify a time in nanoseconds?
Q. Is there a ChangeTrackEvent class that sends an event when
either a piece of music ends and another begins in a single WAV file, or at
programmatically-defined periods?
Q. I would like to provide a PushDataSource to create a Player that can play media delivered using a real
streaming protocol. Is this possible?
Q. Is there a way to only send a client a portion of the media file,
rather than having them download the whole file?
Q. Is there a way to resize the displayed video to
400x300 pixels?
Q. What is the correct syntax for passing an URL argument to a JMF
application executed from a DOS prompt?
Q. When I change the playback rate of a Player while it is playing, the video appears
jerky. The Player seems to
stop and start upon rate transition. Is there any way to make a smoother-appearing
transition to a different playback rate in this situation?
Q. Do your media classes support absolute URLs?
Q. Is the AU format supported? If so, is the 16-bit AU CD quality
supported?
Q. What time base should I be using with the syncStart() method?
Q. Is there a way to gain access to the frame buffer so an
image can be preprocessed before displaying?
Q. Can the JMedia Player send live video from a camcorder
connected to the PC?
Q. Can the JMedia Player play a video from a JAR file?
Q. How can I convert a QuickTime* movie to "fast-start" format
so that it can streamed over HTTP?
Known Problems
A list of known problems for the JMedia Player are available here from the Intel Web site.
Q. Should I uninstall a previous version of the JMedia Player
before installing the latest version?
Yes. You need to remove any previous version of the JMedia Player before
installing the latest version. To do this, go to Control Panel, choose "Add/Remove
Programs" and look for any 'Intel Java* Media Framework' or JMedia Player component.
If there are any installed, click the Add/Remove button to remove them. If your previous
version of the JMedia Player is older than Beta 3, you also need to remove C:\Program Files\Intel\Java\Classes\media.zip from your
CLASSPATH environment variable. Click here for instructions on how to
modify your CLASSPATH.
Q: How can I verify that the JMedia Player is completely
uninstalled?
Installing the JMedia Player before uninstalling a previous version can cause
installation problems. Here are the steps you should follow to be absolutely sure that all
previous JMedia Player components are uninstalled:
- Delete any of the following folders/files from your file system.
C:\Program Files\Intel\Java
C:\Program Files\Netscape\Navigator\Program\Java\bin\AMNS3NativeLib.dll
C:\Program Files\Netscape\Navigator\Program\Java\bin\IJMFAux.dll
C:\Program Files\Netscape\Navigator\Program\Plugins\media.zip
C:\Program Files\Netscape\Communicator\Program\Java\bin\AMNS4NativeLib.dll
C:\Program Files\Netscape\Communicator\Program\Java\bin\IJMFAux.dll
C:\Program Files\Netscape\Communicator\Program\Plugins\media.zip
For Windows 95:
C:\Windows\System\AMMSNativeLib.dll
C:\Windows\System\AMJDKNativeLib.dll
C:\Windows\System\IJMFAux.dll
C:\Windows\Java\Classes\media.zip
For Windows NT:
C:\Winnt\System32\AMMSNativeLib.dll
C:\Winnt\System32\AMJDKNativeLib.dll
C:\Winnt\System32\IJMFAux.dll
C:\Winnt\Java\Classes\media.zip
Note: IJMFAux.dll
was not included with releases before 1.3.0.
- Clean up the registry. From the Start Menu or a DOS window, run
Regedit.
Go to HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/SharedDLLs
and search for the following keys. If any are in the registry, delete them.
C:\Program
Files\Netscape\Navigator\Program\Plugins\media.zip
C:\Program Files\Netscape\Navigator\Program\Java\bin\IJMFAux.dll
C:\Program Files\Netscape\Communicator\Program\Plugins\media.zip
C:\Program Files\Netscape\Communicator\Program\Java\bin\IJMFAux.dll
For Windows 95:
C:\Program
Files\Netscape\Navigator\Program\Java\bin\AMNS3N~1.dll
C:\Program Files\Netscape\Communicator\Program\Java\bin\AMNS4N~1.dll
C:\Windows\System\AMMSN~1.dll
C:\Windows\System\AMJDKN~1.dll
C:\Windows\System\IJMFAux.dll
C:\Windows\Java\Classes\media.zip
For Windows NT:
C:\Program
Files\Netscape\Navigator\Program\Java\bin\AMNS3NativeLib.dll
C:\Program Files\Netscape\Communicator\Program\Java\bin\AMNS4NativeLib.dll
C:\Winnt\System32\AMMSNativeLib.dll
C:\Winnt\System32\AMJDKNativeLib.dll
C:\Winnt\System32\IJMFAux.dll
C:\Winnt\Java\Classes\media.zip
Next, go to HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windwos/CurrentVersion/Uninstall
and remove the JavaMediaFrameworkSDKDeinsKey
folder.
- Check your CLASSPATH environment variable. Remove C:\Program Files\Intel\Java\Classes\media.zip from your
CLASSPATH. Click here for instructions on how to modify your
CLASSPATH.
Q: I want to make sure that I have installed the runtime
correctly. Where should I look for the JMedia Player runtime files?
The default locations of runtime files for each Java environment are given below:
Netscape Navigator 3.0x:
C:\Program
Files\Netscape\Navigator\Program\Java\bin\AMNS3NativeLib.dll
C:\Program Files\Netscape\Navigator\Program\Java\bin\IJMFAux.dll
C:\Program Files\Netscape\Navigator\Program\Plugins\media.zip
Netscape Communicator 4.0x:
C:\Program
Files\Netscape\Communicator\Program\Java\bin\AMNS4NativeLib.dll
C:\Program Files\Netscape\Communicator\Program\Java\bin\IJMFAux.dll
C:\Program Files\Netscape\Communicator\Program\Plugins\media.zip
Internet Explorer 3.0x & 4.0x:
For Windows 95:
C:\Windows\System\AMMSNativeLib.dll
C:\Windows\System\IJMFAux.dll
C:\Windows\Java\Classes\media.zip
For Windows NT:
C:\Winnt\System32\AMMSNativeLib.dll
C:\Winnt\System32\IJMFAux.dll
C:\Winnt\Java\Classes\media.zip
JDK 1.0.2 & 1.1:
For Windows 95:
C:\Windows\System\AMJDKNativeLib.dll
C:\Windows\System\IJMFAux.dll
C:\Windows\Java\Classes\media.zip
For Windows NT:
C:\Winnt\System32\AMJDKNativeLib.dll
C:\Winnt\System32\IJMFAux.dll
C:\Winnt\Java\Classes\media.zip
Q: I want to make sure that my environment is set up correctly
to run JMF applets and applications. What should my environment look like?
There are two environment variables that the JMedia Player depends on to run correctly
on your system: PATH and CLASSPATH. The correct settings of the variables for the SDK and
for each Java environment are given below.
PATH setting for SDK, Internet Explorer and JDK runtimes::
PATH must include the following directory:
For Windows 95:
C:\Windows\System
For Windows NT:
C:\Winnt\System32
PATH setting for Netscape Navigator 3.0x and Communicator 4.0x runtimes:
No special PATH settings are required.
CLASSPATH setting for SDK:
CLASSPATH must include the following paths:
For Windows 95:
C:\Windows\Java\Classes\media.zip
C:\Program Files\Intel\Java\Classes
For Windows NT:
C:\Winnt\Java\Classes\media.zip
C:\Program Files\Intel\Java\Classes
CLASSPATH setting for Internet Explorer and JDK runtimes:
For Windows 95:
C:\Windows\Java\Classes\media.zip
For Windows NT:
C:\Winnt\Java\Classes\media.zip
CLASSPATH setting for Netscape Navigator 3.0x and Communicator 4.0x runtimes:
No special CLASSPATH settings are required.
Q: When I run the Validation Test applet in Internet Explorer, I
get the following error message: java.lang.SecurityException.
Your CLASSPATH may have been set incorrectly. The required settings for CLASSPATH
environment variable are given here. Here is how to change your
CLASSPATH:
For Windows 95:
- Add or modify the CLASSPATH environment variable in AUTOEXEC.BAT file.
- Restart your computer.
For Windows NT:
- Go to the Control Panel. Select the System icon, then select the Environment tab.
- Add or modify the CLASSPATH User environment variable.
- Press the Set button, and then the Ok button to commit this entry to the Windows NT
registry.
Q: When I run the Validation Test applet in Netscape Navigator,
I get the following error message: Applet can't start: class MediaValidationApplet got a security violation. How can I fix
it?
For Windows 95 and Windows NT:
Netscape Navigator may have been open during the installation of the JMedia Player
Netscape runtime or the JMedia Player SDK. Since the media class file, media.zip, is
installed as one of Netscape Navigator's plug-ins, Navigator will not recognize the new
file when running the JMedia Player Validation Test applet.
To work around this problem, simply close Netscape Navigator before installing the runtime
or SDK, and reopen it once installation is complete.
Q: When I run the Validation Test applet in Netscape Navigator,
I get the following error: java.lang.NoClassDefFoundError.
The file layout for the JMedia Player SDK and JMedia
Netscape Navigator runtime is described here. If your SDK or runtime
installation isn't correct, the easiest fix is to uninstall and then reinstall either the
SDK or the runtime.
Q: I get the following error message from Internet Explorer: java.lang.UnsatsifiedLinkError.
The file layout for the JMedia Player SDK and JMedia
Player Internet Explorer runtime is described here. If your SDK
or runtime installation isn't correct, the easiest fix is to uninstall and then reinstall
either the SDK or the runtime.
Q: How do I create a Player?
For Windows 95 and Windows NT:
Here are two ways to create a Player:
Player myPlayer = Manager.createPlayer(new URL("http://www.xyz.com/xyz.mov"));
and
Player myPlayer = Manager.createPlayer(new URL(getDocumentBase(), "xyz.mov"));
Each constructs an individual instance of an object supporting the Player interface. Each Player
instance will be capable of displaying whatever kind of media file is contained in the URL
or local machine. If the Player cannot be
created, Manager.createPlayer() will throw javax.media.NoPlayerException or java.io.IOException.
This version of JMF supports the following media types:
Audio: MIDI, WAV, AU.
Video: MOV, MPEG, AVI.
Please refer to the JMedia Player Tutorial for
more information about creating and controlling Players.
Q: Do I need to use getVisualComponent()
to display the Player?
For Windows 95 and Windows NT:
It depends on the type of media. A Player
can have a visual representation, an audio representation, or both. getVisualComponent()
can be called to find out if the media has a visual representation. It will either return
an AWT Component (a Players visual representation), or it will return null (indicating the Player
has no visual representation).
Q: In setMediaTime() and setStopTime()
argument, should I specify a time in nanoseconds?
For Windows 95 and Windows NT:
Yes, you must specify a time in nanoseconds.
Q: Is there a ChangeTrackEvent class that sends an event when
either a piece of music ends and another begins in a single WAV file, or at
programmatically-defined periods?
For Windows 95 and Windows NT:
Currently, there is no way an event can be generated to support this
requirement. This is a Java Media Framework (JMF) API limitation. We suggest you use a
separate thread to monitor the media time, and compare returned time with hard-coded time
values.
Q: I would like to provide a PushDataSource to create a Player that can play media
delivered using a real streaming protocol. Is this currently possible?
For Windows 95 and Windows NT:
Not yet. The current release of the JMedia Player supports FILE, HTTP
and FTP protocols, and it supports Player creation using programmer-supplied PullDataSources. This implementation does not support constructing a Player using a PushDataSource; this is planned for a future
release.
Q: Is there a way to only send a client a
portion of the media file, rather than having them download the whole file?
For Windows 95 and Windows NT:
There is no way to send a client a portion of a media file. Currently,
this is not defined in the Java Media Framework API specification. For more information,
refer to the JMedia Player Technical Reference.
Q: Is there a way to resize the displayed
video to 400x300 pixels?
For Windows 95 and Windows NT:
Yes. The Component returned by Player.getVisualComponent() is equivalent to any
other AWT component. If you call preferredSize() on the visual component you will get the default dimensions of the video.
Different AWT Layout Managers handle preferred size differently. If you use the BorderLayout manager and add the
component to the Center,
the manager will ignore the preferred size and resize to fill the entire area. You should
use the GridBagLayout
manager instead of BorderLayout. If you want to display the video at 400x300 instead of its authored size, then
call resize(400,300) on the
component before adding it to the AWT GridBagLayout manager.
Q: What is the correct syntax for passing an
URL argument to a JMF application executed from a DOS prompt?
For Windows 95 and Windows NT:
Assuming your application is called MyPlayer and the local file
you wish to pass as an argument is "C:\Mydir\Sample.avi", the correct DOS syntax
for expressing the URL is:
java MyPlayer file:///C:/Mydir/Sample.avi.
Q: When I change the playback rate of a Player while it is playing, the video
appears jerky. The Player
seems to stop and start upon rate transition. Is there any way to make a
smoother-appearing transition to a different playback rate in this situation?
For Windows 95 and Windows NT:
The setRate() API calls directly into the video rendering infrastructure
(ActiveMovie/DirectShow) to change the playback rate. This is a limitation of the current
version of the video rendering infrastructure.
Q: Do your media classes support absolute URLs?
For Windows 95 and Windows NT:
Yes. If your application displays a Player, it must construct a valid URL
for the media clip. The URL can be constructed from a known location, either on a disk or
the Internet. So "http://mycomputer.domain.com/clips/hello.avi"
or "file:///c:/java/clips/hello.avi" are
both accepted by Manager.createPlayer(URL);
Q: Is the AU format supported? If so, is the 16-bit AU CD
quality supported?
For Windows 95 and Windows NT:
Yes. AU is an 8-bit low bit-rate audio file format which is supported by
ActiveMovie/DirectShow. 16-bit AU is currently not supported by ActiveMovie/DirectShow.
Q: What time base should I be using with the syncStart() method?
For Windows 95 and Windows NT:
Be sure you are getting the reference time from the Player
you are calling syncStart() on and not from the
System clock.
An example that will start in 5 seconds:
Time time = player.getTimeBase().getNanoseconds()
+5000000000L;
System.out.println("starting from: "+time.getNanoseconds());
player.syncStart(time);
The System clock, although a known value, has an unknown delta with the Player created. Each Player
derives its time base reference from different sources depending upon the media type (MOV,
AVI, etc). syncStart() must be called with a
value relative to the Player's time base
reference, not the Manager's system clock time
base reference.
Q: Is there a way to gain access to the frame
buffer so an image can be preprocessed before displaying?
For Windows 95 and Windows NT:
There is currently no way to access or alter a video image between
downloading and the time it is rendered. This is a Java Media Framework (JMF) API
limitation.
For more information on the Java Media Framework API, refer to the
JMedia Player Technical Reference.
Q: Can the JMedia Player send live video from a
camcorder connected to the PC?
For Windows 95 and Windows NT:
Live streaming video is a natural extension to Intel's implementation
of the Java Media Framework API. We cannot, however, commit to any specific release
schedule for this feature.
Q. Can the JMedia Player play a video from a JAR
file?
The current release does not support playing a video clip from a JAR file
directly.
Q. How can I convert a QuickTime* movie to
"fast-start" format so that it can streamed over HTTP?
One tool currently available to convert QuickTime movies to
"fast-start" format is MovieScreamer* from Digigami.
For more information on streaming media over HTTP please refer to our Java Media Framework
HTTP Streaming Tutorial.
See the JMedia Player Release Notes for more
information.
|