Gestire i tag dei file MP3 in Java con mp3agic

Una libreria gratuita e facile da usare per leggere e modificare i tag degli MP3 con Java

Sto cercando di migliorare (oltre che correggere) il mio tool per estendere le potenzialità di youtube-dl per il download delle playlist, ed ho pensato che potrebbe essere utile la possibilità di aggiungere o comunque modificare i tag dell’mp3 scaricato in modo da renderlo già pronto per il trasferimento nei lettori mp3 portatili, ed avere tutti i dati già in ordine.

Ho per puro caso trovato mp3agic, una libreria in java (YTDLJExtension è fortunatamente scritto in Java) ed ho deciso di provarlo, perché permetterebbe proprio di andare a gestire i tag di un file mp3 nella maniera più pratica possibile.

Permette di gestire 3 tipi di tag, ovvero ID3v1, ID3v2 e i customtags, e consente di andare ad applicare al nostro MP3 tutti i dati che desideriamo incorporare, dal titolo, all’autore, è possibile specificare il genere, l’anno di pubblicazione, l’artista. Dando un’occhiata alla libreria ho visto che permetterebbe l’inserimento anche delle pic (ovvero le cover). Utilissimo, almeno per me che posseggo ancora un iPod Nano 7.

Come utilizzare mp3agic

Per prima cosa è indispensabile aggiungere la libreria al nostro progetto, se usiamo Maven con l’aggiunta di questa dipendenza, altrimenti troverete tutti i riferimenti in fondo all’articolo

<dependency>
  <groupId>com.mpatric</groupId>
  <artifactId>mp3agic</artifactId>
  <version>0.9.1</version>
</dependency>

Successivamente sarà sufficiente aprire il file con new Mp3File(POSIZIONE DEL FILE) per poter operare su di esso, un esempio di codice è il seguente

Mp3File mp3file = new Mp3File("SomeMp3File.mp3");
System.out.println("Length of this mp3 is: " + mp3file.getLengthInSeconds() + " seconds");
System.out.println("Bitrate: " + mp3file.getBitrate() + " kbps " + (mp3file.isVbr() ? "(VBR)" : "(CBR)"));
System.out.println("Sample rate: " + mp3file.getSampleRate() + " Hz");
System.out.println("Has ID3v1 tag?: " + (mp3file.hasId3v1Tag() ? "YES" : "NO"));
System.out.println("Has ID3v2 tag?: " + (mp3file.hasId3v2Tag() ? "YES" : "NO"));
System.out.println("Has custom tag?: " + (mp3file.hasCustomTag() ? "YES" : "NO"));

una volta instanziato il file mp3 in un oggetto, abbiamo la possibilità di eseguire un’interrogazione su tutti i dati in esso salvati (sempre a livello di tag) ed eventualmente modificarli o inserirli da zero. Alla fine delle modifiche sarà sufficiente utilizzare il metodo .save(POSIZIONE DEL FILE) per sovrascriverlo oppure salvarlo in una nuova posizione o con un nuovo nome.

Link e riferimenti

Controlliamo ciclicamente il funzionamento dei link nei nostri articoli. Se noti dei link che non funzionano segnalacelo tra i commenti. Se hai apprezzato l'articolo considera l'idea di sostenere il blog anche con una piccola donazione. Grazie. Patreon / Ko-fi / Liberapay / Paypal

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *