|
|
| jlGui
player Applet is the applet version of jlGui,
Music Player for the Java™ platform, free,
open source project. To play any MP3 or OGG Vorbis file/stream,
you need a browser JavaSound 1.0 compliant : Internet
Explorer, Mozilla, Opera ... with Java™ Plugin 1.3 or higher. |
|
Click here to test jlGuiApplet
self-signed edition.
(It also
includes the full
Javascript control panel). |
|
Download &
Install :
| Editions |
English |
jlGuiApplet
2.3.2a - Full Edition
(MP3 & Ogg Vorbis support,
4 skins, Javascript Control Panel,
unsigned jars, source code) |
[zip]
- 1148KB
|
jlGuiApplet
2.3.2a - Self-Signed Edition
(MP3 & Ogg Vorbis support,
4 skins, Javascript Control Panel,
self-signed jars => no security restrictions)
|
[zip]
- 1073KB |
|
To install
jlGuiApplet (full edition), you have to copy lib/ folder including all jar files, jlgui.ini,
playlist.m3u, playerapplet.js and skins/ folder in the directory
of your web page. Then you have to copy/paste code see below somewhere in your HTML source code and update parameters (in blue below) in playerapplet.js.
The jlGuiApplet above is the result of the following HTML
code (including JavaPlugin code).
| <!-- jlGui Applet : Begin copy/paste -->
<script src="playerapplet.js"></script>
<!-- jlGui Applet : End copy/paste --> |
|
playerapplet.js sample :
|
<!--
var _info = navigator.userAgent;
var _ns = false;
var _ns6 = false;
var _ie = (_info.indexOf("MSIE") > 0 && _info.indexOf("Win") > 0 && _info.indexOf("Windows 3.1") < 0);
if (_info.indexOf("Opera") > 0) _ie = false;
var _ns = (navigator.appName.indexOf("Netscape") >= 0 && ((_info.indexOf("Win") > 0 && _info.indexOf("Win16") < 0) || (_info.indexOf("Sun") > 0) || (_info.indexOf("Linux") > 0) || (_info.indexOf("AIX") > 0) || (_info.indexOf("OS/2") > 0) || (_info.indexOf("IRIX") > 0)));
var _ns6 = ((_ns == true) && (_info.indexOf("Mozilla/5") >= 0));
if (_ie == true) {
document.writeln('<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH="275" HEIGHT="348" NAME="player" codebase="http://java.sun.com/update/1.4.2/jinstall-1_4-windows-i586.cab#Version=1,4,0,0">');
}
else if (_ns == true && _ns6 == false) {
// BEGIN: Update parameters below for NETSCAPE 3.x and 4.x support.
document.write('<EMBED ');
document.write('type="application/x-java-applet;version=1.4" ');
document.write('CODE="javazoom.jlgui.player.amp.PlayerApplet.class" ');
document.write('JAVA_CODEBASE="./" ');
document.write('ARCHIVE="lib/jlguiapplet2.3.2.jar,lib/jlgui2.3.2-light.jar,lib/tritonus_share.jar,lib/basicplayer2.3.jar,lib/mp3spi1.9.2.jar,lib/jl1.0.jar,lib/vorbisspi1.0.1.jar,lib/jorbis-0.0.13.jar,lib/jogg-0.0.7.jar,lib/commons-logging-api.jar" ');
document.write('NAME="player" ');
document.write('WIDTH="275" ');
document.write('HEIGHT="348" ');
document.write('song="playlist.m3u" ');
document.write('start="no" ');
document.write('skin="skins/bao.wsz" ');
document.write('init="jlgui.ini" ');
document.write('location="url" ');
document.write('useragent="winampMPEG/2.7" ');
document.write('scriptable=true ');
document.writeln('pluginspage="http://java.sun.com/products/plugin/index.html#download"><NOEMBED>');
// END
}
else {
document.writeln('<APPLET CODE="javazoom.jlgui.player.amp.PlayerApplet.class" JAVA_CODEBASE="./" ARCHIVE="lib/jlguiapplet2.3.2.jar,lib/jlgui2.3.2-light.jar,lib/tritonus_share.jar,lib/basicplayer2.3.jar,lib/mp3spi1.9.2.jar,lib/jl1.0.jar,lib/vorbisspi1.0.1.jar,lib/jorbis-0.0.13.jar,lib/jogg-0.0.7.jar,lib/commons-logging-api.jar" WIDTH="275" HEIGHT="348" NAME="player">');
}
// BEGIN: Update parameters below for INTERNET EXPLORER, FIREFOX, SAFARI, OPERA, MOZILLA, NETSCAPE 6+ support.
document.writeln('<PARAM NAME=CODE VALUE="javazoom.jlgui.player.amp.PlayerApplet.class">');
document.writeln('<PARAM NAME=CODEBASE VALUE="./">');
document.writeln('<PARAM NAME=ARCHIVE VALUE="lib/jlguiapplet2.3.2.jar,lib/jlgui2.3.2-light.jar,lib/tritonus_share.jar,lib/basicplayer2.3.jar,lib/mp3spi1.9.2.jar,lib/jl1.0.jar,lib/vorbisspi1.0.1.jar,lib/jorbis-0.0.13.jar,lib/jogg-0.0.7.jar,lib/commons-logging-api.jar">');
document.writeln('<PARAM NAME=NAME VALUE="player">');
document.writeln('<PARAM NAME="type" VALUE="application/x-java-applet;version=1.4">');
document.writeln('<PARAM NAME="scriptable" VALUE="true">');
document.writeln('<PARAM NAME="song" VALUE="playlist.m3u">');
document.writeln('<PARAM NAME="start" VALUE="no">');
document.writeln('<PARAM NAME="skin" VALUE="skins/bao.wsz">');
document.writeln('<PARAM NAME="init" VALUE="jlgui.ini">');
document.writeln('<PARAM NAME="location" VALUE="url">');
document.writeln('<PARAM NAME="useragent" VALUE="winampMPEG/2.7">');
// END
if (_ie == true) {
document.writeln('</OBJECT>');
}
else if (_ns == true && _ns6 == false) {
document.writeln('</NOEMBED></EMBED>');
}
else {
document.writeln('</APPLET>');
}
//-->
|
|
PARAMETERS :
- Basic parameters :
skin : Filename of the WinAmp skin 2.0 to
load (e.g. skins/askin.wsz).
You can download some nice skins at 1001skins.com.
- song : MP3 filename
or M3U playlist to load on starting.
start : Plays automatically
the MP3 file on applet loading. Values could be "yes"
or "no".
Advanced parameters :
init : jlGuiApplet configuration filename.
Default is "jlgui.ini". You have to modify this file
if you want to enable repeat or shuffle.
location : This parameter
allows to modify "Eject" button behaviour.
- "none" value means that the button is disabled.
- "url" value means that you could open remote MP3,
skins or playlist.
- "all" value means that your could open both local
files (MP3, skin, playlist) or remote file. You have
to sign the applet for this value.
Default value is "none".
useragent : User-Agent signature
of the client. Some streaming servers use it to return
either HTML or stream.
forceogg : Force "Ogg
Vorbis" audio decoding (for Ogg Vorbis steams only).
FAQ :
- Does jlGui Applet work with JavaPlugin 1.4 ?
Yes. JavaPlugin 1.4 is better than 1.3 because it starts
playing the song without completing the download. It has also been tested successfully under JavaPlugin 1.5 and 1.6.
- Can I control jlGuiApplet through JavaScript
?
Yes, jlGuiApplet is scriptable. You can call a few applet
methods such as pressStart(), pressPause(), loadPlaylist,
loadSkin() ... - see sample in jlGuiApplet download
package - but the applet cannot call JavaScript methods.
- I get security exceptions when trying the Applet
locally ?
jlGuiApplet full edition cannot be tested without a
web server (except if you use AppletViewer). Only jlGuiApplet
self-signed edition allows tests locally.
- Can I remove playlist and/or equalizer ?
Yes, modify jlgui.ini to enable/disable playlist UI
or equalizer UI. You also have to modify applet size
(see width and height parameters in your HTML source
code). You can even hide the Applet with a 1x1 size.
- Add/Remove Url/Dir/File are not working in the
playlist UI ?
Yes, these features have been disabled due to Applet
design problems. However, right click + File Info is
working.
- How to run jlGui Applet with my own playlist
?
Fill in song parameter
with the URL of your M3U playlist.
(e.g. : song="myplaylist.m3u" myplaylist.m3u includes
URLs of MP3 files).
- I get : Can't load playlist : access denied (java.io.FilePermission
read)
Your M3U should look like :
#EXTINF:112, Introduction
http://yourserver.com/myapplets/Introduction.mp3
#EXTINF:-1, My Song - My Artist
http://yourserver.com/myapplets/song_1.mp3
#EXTINF:345, Another Song - My Artist
http://yourserver.com/myapplets/anothersong.mp3
#EXTINF lines are not mandatory, it's just for comments and song name that will be displayed in the player. It's better to have "My Song" displayed than "http://yourserver.com/my_song.mp3".
Use the full URL for your MP3. Pay attention to special characters such as space, !, ... If you have some then you have to encode (javascript escape) the URL. For instance space should be converted to %20 :
http://yourserver.com/my song.mp3 should become
http://yourserver.com/my%20song.mp3
- How to make jlGui Applet play automatically a
MP3 ?
Setup start parameter to "yes".
It will automatically play the song (even in the
playlist).
- Can I play a shoutcast/icecast streams with jlGuiApplet
?
Yes, but the stream must come from the server hosting
the applet. If the stream comes from another remote
server then you have to sign the applet (see next question).
- Can I play a MP3 or a stream coming from another
remote web site ?
No, it's a security restriction of applets. An applet
can only connect to its hosting server. However, answer
is YES if you digitally sign the applet (see
SUN
tutorial - step 3 to 4) OR if you use our
self-signed
edition.
- How to setup jlGuiApplet to play local/remote
stream?
1 - Create a M3U file (stream.m3u) including the URL
of the stream. e.g. :
#EXTINF,-1, Your Stream Name
http://remoteserver.com:8000
2 - Fill in both song parameters with the M3U :
<PARAM NAME = "song" VALUE ="stream.m3u">
song = "stream.m3u"
We've successfully tested shoutcast 1.9.x remote MP3
streams with jlGuiApplet. Do not remove the useragent
parameter to make it work.
- Does jlGuiApplet support ID3 tag for MP3 files
?
Yes, jlGuiApplet only supports ID3v2 tags.
- Does jlGuiApplet support shoutcast title streaming
?
Yes, it does.
- Can I play a MP3 (or OGG Vorbis) stored on my
local computer ?
No, once again it's a security restriction of applets.
An applet cannot read/write local files. However, you
can do it by signing the applet (or use the self-signed
edition) and setup location parameter to "all" to enable the "browse local
files" feature.
- I get : access denied (java.io.FilePermission
file:\ ... ) ?
As jlGui Applet is not signed you can't test it without
a web server. The error you get means that the Applet
tries to open a local file. Upload jlGui Applet files
(.JAR + .ini + skin) and your HTML to test it.
If you want to test it without a web server, and without
signing the applet, then you should use AppletViewer
included in JDK.
- Why don't you provide a signed version of jlGuiApplet
?
We provide a self-signed
edition. However to sign an applet (or any code)
you need a "Code
Signing X509 Certificate" that costs around
$400 for 2 years. You do need a real (not self-signed)
certificate to avoid browser security warnings before
launching an applet.
Note that you could self-sign the jlGuiApplet
for free (tools are included in the JDK) for testing
purpose but you will get a warning from the browser.
- Where can I learn more about the whole jlGui
project ?
jlGuiApplet is a small part of jlGui - Music Player
for the Java Platform - open source project. jlGui could
run as stand alone application and through JavaWebStart
too.
Learn more at : http://www.javazoom.net/jlgui/jlgui.html
- Do I need JMF to run jlGui Applet ?
No, you just need JavaPlugin 1.3 or higher. jlGui is
NOT based on JMF. It uses its own MP3 engine (JLayer).
- Do you have commercial license for jlGuiApplet
?
No, jlGuiApplet is free and it's under LGPL. We don't
plan to provide commercial license. However donations
are welcome and needed to help us continue providing
free support. You can use/extend it as you want but
please be compliant to the LGPL license.
- What are the differences between jlGui WebStart
and jlGui Applet?
| jlGui
Applet |
jlGui
WebStart |
| Browser
needed. |
Browser
NOT needed. |
| Java
Plugin 1.3 or higher needed. |
JRE
1.3 or higher and Java WebStart needed. (Note
that both JavaWebStart and JavaPlugin are installed
when you deploy JRE 1.4 or higher). |
| You
can control jlGui though JavaScript. |
No
javascript controls because WebStart doesn't need
browser. |
| Playlist
UI features (Add dir, file, url, Remove files,
...) missing. |
All
playlist UI features available. |
| Two
editions (Full and self-signed) available. |
One
auto-deployable full edition.
|
| Weak
cache management. |
Fine
cache management. |
| JAR
files are not signed. You can play any files/streams
from the server hosting the applet. You cannot
connect to remote streaming server or load local
files without signing all JAR files. |
All
JAR files are self-signed to allow remote streaming
connection and local files loading. |
| Java
Plugin has security limitations that make jlGui
Applet source code hard to maintain. |
Java
Web Start is future of Applets ! |
- Are jlGuiApplet archives available ?
Yes, but there is no support for old releases of jlGuiApplet.
You could download jlGuiApplet
2.3 and jlGuiApplet2.3
self-signed.
|
|