mp3agic
mp3agic copied to clipboard
IllegalArgumentException
There will be a bug in the Library when an mp3 file will not have any Metatags (iD3 Basic,, iD3v1, iD3v2).
An Mp3File Object will not create to search any Metadatas from file.
It will be get an IllegalArgumentException?
Exception in thread "main" java.lang.IllegalArgumentException at sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:278) at sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:50) at com.mpatric.mp3agic.Mp3File.initId3v1Tag(Mp3File.java:273) at com.mpatric.mp3agic.Mp3File.init(Mp3File.java:94) at com.mpatric.mp3agic.Mp3File.<init>(Mp3File.java:71) at com.mpatric.mp3agic.Mp3File.<init>(Mp3File.java:62) at soundstation.SoundStation.main(SoundStation.java:88)
The Programm will be work to the line correctly
LOG.info("Verarbeitung der MP3 Audiodatei - beginnt " + datei);
After that the Programm will not work anyway to create the Mp3File
Mp3File mp3datei = new Mp3File(datei);
The Code: `// *** Dateiliste verarbeiten *** for (File datei : listeDatei) { LOG.info("Verarbeitung der MP3 Audiodatei - beginnt " + datei);
//*** MP3 Daten durch mp3agic ermitteln
Mp3File mp3datei = new Mp3File(datei);
LOG.info("MP3 ID Tag Standard " + (mp3datei.hasCustomTag() ? "JA" : "Nein"));
LOG.info("MP3 ID Tag Version 3v1 " + (mp3datei.hasId3v1Tag() ? "JA" : "Nein"));
LOG.info("MP3 ID Tag Version 3v2 " + (mp3datei.hasId3v2Tag() ? "JA" : "Nein"));
if (mp3datei.hasId3v1Tag() == true || mp3datei.hasId3v2Tag() == true) {
// Die Datei enthält Metadaten
listeID3 = SoundParser.sucheMP3Tags(datei.getAbsoluteFile(), mp3datei);
LOG.info("Ausgabe gefundenen ID3-TAGs");
SoundParser.ausgebenIdTags(listeID3);
// Prüfung auf Eintrag Album
albumAblage = SoundParser.pruefungEintragAlbum(listeID3, listeZusammenstellungen, listeFilmmusik);
LOG.info("Das Ablageverzeichnis ist : " + albumAblage);
// Ablagevariablen
File quellDatei = new File(datei.getAbsolutePath());
File zielDatei = new File(zielVerzeichnis + "\\" + datei.getName());
SoundParser.ablageAudioDatei(quellDatei, zielVerzeichnis, listeID3, endung, mitLeerzeichen, albumAblage);
LOG.info("Verarbeitung der MP3 Audiodatei - beendet " + datei);
} else if (mp3datei.hasId3v1Tag() == false && mp3datei.hasId3v2Tag() == false) {
LOG.error("In der Audiodatei wurden keine Metadaten gefunden.");
// Ablagevariablen
File quellDatei = new File(datei.getAbsolutePath());
File zielDatei = new File(zielVerzeichnis + "\\" + datei.getName());
} // listeDatei for-Schleife`
Issue in German can find here: https://www.java-forum.org/thema/illegalargumentexception.180347/