Quick Navigator
Products
Technologies
Development Tools
Technology Home Tab
* Home
* News
* System Requirements
* Download
* Documentation
* General FAQ
* Gallery
* Support
IAL
IAL Home
About IAL
Our Initiatives
Technology Directory
News and Events
Site Map/Search

Developer Home Contents Search Feedback Support Intel(r)

Intel Architecture Labs
Technology Directory
Technology DirectoryTechnology Directory


Intel JMedia Player

Technical FAQ

Version 1.3.1

Installation

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.

API Questions

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?

Advanced Topics

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.


Installation

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:

  1. 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.

  1. 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.

  1. 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:

  1. Add or modify the CLASSPATH environment variable in AUTOEXEC.BAT file.
  2. Restart your computer.

For Windows NT:

  1. Go to the Control Panel. Select the System icon, then select the Environment tab.
  2. Add or modify the CLASSPATH User environment variable.
  3. 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.

API Questions

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.

Advanced Topics

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.



To top of page

* Legal Information © 1998 Intel Corporation