|
|
Custom Player GUI
|
|
Problem
How to create custom controls using the Player API. You have created an application
that embeds a JMF player. You'd like the JMF GUI to look like the rest of your
application. You don't want to use the default control panel provided by JMF either
because it clashes with your GUI design or because it has more/less functionality than
you would like to expose to the user.
Solution

You can create your own GUI components and use them to control the JMF player. The
typical VCR type controls such as start, stop and rewind can be implemented through
the Player interface.
The playback volume can be controlled through the GainControl object exposed through the
Player.getControls() method. The GainControl.setLevel() takes a value between 0.0 and 1.0.
This example draws a rectangle on the control panel and translates mouse clicks within
the box to a value between 0.0 and 1.0 and accordingly sets the volume of the player.
The seeking function can be implemented by making calls to Player.setMediaTime(). The
bounds of the media time are not 0 to 1 as in the case of the volume level. The upper
limit is the duration of the player retrieved through Player.getDuration(). The lower
limit is 0. So the position of the mouse in the media time rectangle in the GUI is
translated to a nanosecond position between 0 and duration.
|
|
| Requirements |
|
| Platform: |
JDK 1.1.6 or later |
| JMF API: |
1.0 or later |
| Implementation: |
AJ, WPP, SPP * |
* AJ = All Java, WPP = Windows Performance Pack, SPP =
Solaris Performance Pack |
|
|
| Related Classes |
|
|
|
|
| How to run this sample |
|
-
Download the jamp.zip file and set the CLASSPATH to point to it.
-
Run jamp.Main with an optional URL in the command line
For example,
java jamp.Main file:/C:/test.mpg
|
|
| Source Code |
|
|
|
|
| See Also |
|
-
JMF 2.0 Programmer's Guide
|
|