Java ID3 Libraries – Too many poor choices
We’re at a stage where we need to parse media files for their metadata.
Unfortunately, the Java Media Framework has not kept pace with native tools. There are few good options for most media container formats like AVI, WMF, MP4, etc.
MP3s are the baseline, and so there should be a reasonably easy to use, well documented and stable Java library to manage this format. Actually, the number of libraries solutions is only overshadowed by their poor documentation and difficulty to use.
Most MP3 libraries are designed to actually manipulate the file. Read-only functions are a small subset. Here are a few we tried and what we found:
- javazoom.spi
The API is awkward for ID3 alone. Library is primarily for decoding MP3 audio. Works well. Stable & maintained. - org.farng.mp3
Javadoc still very sparse. Usable but requires extensive hunting. - JID3
Thorough and very powerful.
Difficult abstraction between versions V1 and V2.x tags. - MyID3
Simple, easy and reasonably well documented
While JID3 seemed to be the most comprehensive and powerful, it had a steep learning curve and is difficult to use for simple functions like reading and writing MP3 tags.
While less comprehensive, MyID3 was the clear winner for us because of is simplicity and documentation.