Leggere e modificare tag MP3 in Java con mp3agic

Mattepuffo's logo
Leggere e modificare tag MP3 in Java con mp3agic

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!


Condividi

Commentami!