 JLayer 1.0
 JavaZOOM 1999-2005

 Project Homepage :
   http://www.javazoom.net/javalayer/javalayer.html 

 JAVA and MP3 online Forums :
   http://www.javazoom.net/services/forums/index.jsp
-----------------------------------------------------

DESCRIPTION :
-----------
JLayer is a library that decodes/plays/converts MPEG 1/2/2.5 Layer 1/2/3
(i.e. MP3) in real time for the JAVA(tm) platform. This is a non-commercial project 
and anyone can add his contribution. JLayer is licensed under LGPL (see LICENSE.txt).


FAQ : 
---

- How to install JLayer ?
  Before running JLayer you must set PATH and CLASSPATH for JAVA
  and you must add jl1.0.jar to the CLASSPATH.

- Do I need JMF to run JLayer player ?
  No, JMF is not required. You just need a JVM JavaSound 1.0 compliant.
  (i.e. JVM1.3 or higher).

- How to run the MP3TOWAV converter ?
  java javazoom.jl.converter.jlc -v -p output.wav yourfile.mp3
  (Note : MP3TOWAV converter should work under jdk1.1.x or higher)

- How to run the simple MP3 player ?
  java javazoom.jl.player.jlp localfile.mp3
   or
  java javazoom.jl.player.jlp -url http://www.aserver.com/remotefile.mp3
  Note : MP3 simple player only works under JVM that supports JavaSound 1.0 (i.e JDK1.3.x+)

- How to run the advanced (threaded) MP3 player ?
  java javazoom.jl.player.advanced.jlap localfile.mp3

- Does simple MP3 player support streaming ?
  Yes, use the following command to play music from stream :
  java javazoom.jl.player.jlp -url http://www.shoutcastserver.com:8000
  (If JLayer returns without playing SHOUTcast stream then it might mean 
   that the server expect a winamp like "User-Agent" in HTTP request).

- Does JLayer support MPEG 2.5 ?
  Yes, it works fine for all files generated with LAME.

- Does JLayer support VBR ?
  Yes, It supports VBRI and XING VBR header too. 

- How to get ID3v1 or ID3v2 tags from JLayer API ?
  The API provides a getRawID3v2() method to get an InputStream on ID3v2 frames.

- How to skip frames to have a seek feature ?
  See javazoom.jl.player.advanced.jlap source to learn how to skip frames.

- How much memory/CPU JLayer needs to run ?
  Here are our benchmark notes :
    - Heap use range : 1380KB to 1900KB - 370 classes loaded. 
    - Footprint : ~8MB under WinNT4/Win2K + J2SE 1.3 (Hotspot).
                  ~10MB under WinNT4/Win2K + J2SE 1.4.1 (Hotspot).
    - CPU usage : ~12% under PIII 800Mhz/WinNT4+J2SE 1.3 (Hotspot).
                  ~8% under PIII 1Ghz/Win2K+J2SE 1.3.1 (Hotspot).
                  ~12% under PIII 1Ghz/Win2K+J2SE 1.4.1 (Hotspot).
                  ~1% under PIII 1Ghz/Win2K+J2SE 1.5.0 (Hotspot).

- How to contact JLayer developers ?
  Try to post a thread on Java&MP3 online forums at :
  http://www.javazoom.net/services/forums/index.jsp
  You can also contact us at jlayer@javazoom.net for contributions.
 

KNOWN PROBLEMS :
--------------
99% of MP3 plays well with JLayer but some (1%) return an ArrayIndexOutOfBoundsException 
while playing. It might come from invalid audio frames. 
Workaround : Just try/catch ArrayIndexOutOfBoundsException in your code to skip 
             non-detected invalid frames.