Leggere e modificare tag MP3 in Java con mp3agic
La libreria mp3agic ci permette di leggere e modificare i tag MP3 in Java.
Oggi vediamo un esempio del suo funzionamento.
Se usate Maven aggiungete questa dipendenza:
<dependency>
<groupId>com.mpatric</groupId>
<artifactId>mp3agic</artifactId>
<version>0.9.1</version>
</dependency>
Sono supportati sia i ID3v1 che ID3v2; nel nostro caso useremo i secondi, ma il funzionamento è lo stesso:
package com.mp.test;
import com.mpatric.mp3agic.*;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
String documenti = "/home/fermat/Documenti/";
try {
Mp3File mp3File = new Mp3File(documenti + "canzone.mp3");
System.out.println("INFO GENERALI");
System.out.println(mp3File.getLengthInSeconds());
System.out.println(mp3File.getBitrate() + " kbps " + (mp3File.isVbr() ? "(VBR)" : "(CBR)"));
System.out.println(mp3File.getSampleRate() + " Hz");
System.out.println("-----");
if (mp3File.hasId3v2Tag()) {
System.out.println("LA CANZONE HA I TAG ID3V2");
ID3v2 id3v2 = mp3File.getId3v2Tag();
System.out.println(id3v2.getTrack());
System.out.println(id3v2.getTitle());
System.out.println(id3v2.getAlbum());
System.out.println(id3v2.getArtist());
System.out.println(id3v2.getBPM());
System.out.println(id3v2.getGenre());
id3v2.setTrack("BLA BLA BLA");
mp3File.save(documenti + "canzone_update.mp3");
Mp3File mp3FileUpdate = new Mp3File(documenti + "canzone_update.mp3");
ID3v2 id3v2Update = mp3FileUpdate.getId3v2Tag();
System.out.println(id3v2Update.getTrack());
}
} catch (IOException | UnsupportedTagException | InvalidDataException | NotSupportedException e) {
System.out.println(e.getMessage());
}
}
}
Come vedete prima stampiamo delle info generali; poi andiamo a controllare che la canzone abbia i tag ID3v2, ed in caso li leggiamo.
Poi modifichiamo un tag e creiamo una copia del file; infine leggiamo il tag dal nuovo file.
Enjoy!
java mp3 mp3agic id3v1 id3v2
Commentami!