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.