# jlayer **Repository Path**: tadema/jlayer ## Basic Information - **Project Name**: jlayer - **Description**: JLayer是一个库,可为JAVA(tm)平台实时解码/播放/转换MPEG 1/2 / 2.5 Layer 1/2/3(即MP3) - **Primary Language**: Java - **License**: LGPL-2.1 - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/jlayer - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-11-27 - **Last Updated**: 2021-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Release](https://jitpack.io/v/umjammer/jlayer.svg)](https://jitpack.io/#umjammer/jlayer) [![Parent](https://img.shields.io/badge/Parent-vavi--sound--sandbox-pink)](https://github.com/umjammer/vavi-sound-sandbox) # JLayer JavaZOOM 1999-2008 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.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 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.