Skip to content

mahozad/jlayer

Repository files navigation

GitHub release GitHub top language GitHub last commit license

JavaZOOM 1999-2008

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 Javatm platform. This is a non-commercial project and anyone can add his contribution. JLayer is licensed under LGPL (see LICENSE).

FAQ

  • How to install JLayer?
    Before running JLayer you must set PATH and CLASSPATH for Java and you must add jl1.0.1.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 [email protected] 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.