# 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
[](https://jitpack.io/#umjammer/jlayer) [](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.