Le varianti di metadati sono allegate a documenti di diversi formati di file. I file MP3 contengono comunemente tag di metadati ID3. Questo articolo discute come leggere diversi tag MP3 in Java. Uno per uno, vedremo come estrarre i tag di metadati ID3 (IDEv1, ID3v2), Lyrics e APEv2 dai file mp3 utilizzando Java Metadata API.

Di seguito vengono trattati i seguenti argomenti:

API Java per tag di metadati MP3

GroupDocs.Metadata è dotato di API per automatizzare la gestione dei metadati di vari formati di file all’interno delle applicazioni. La sua API Java ti consente di leggere, aggiornare, aggiungere, pulire e rimuovere i metadati per molti formati di file all’interno dell’applicazione Java. Lo useremo per lavorare con i tag di metadati MP3.

Scarica e configura

Ottieni la libreria di metadati dalla sezione downloads. Per la tua applicazione Java basata su Maven, aggiungi semplicemente la seguente configurazione pom.xml. Dopo questo, puoi provare gli esempi di questo articolo e molti altri esempi disponibili su GitHub. Per i dettagli, puoi visitare il Riferimento API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-metadata</artifactId>
        <version>22.2</version> 
</dependency>

Leggi i tag ID3 MP3 in Java - ID3v1 e ID3v2

I passaggi seguenti mostrano come leggere i tag ID3v1 MP3 utilizzando Java.

  • Carica il file MP3 utilizzando la classe Metadata.
  • Recupera il MP3RootPackage utilizzando il metodo getRootPackageGeneric().
  • Dal pacchetto radice, recuperare ciascuna delle proprietà ID3v1.

Il seguente codice sorgente Java legge alcuni dei tag ID3v1 MP3 del file MP3.

// Leggi i tag ID3V1 del file MP3
try (Metadata metadata = new Metadata("path/audio-ID3V1.mp3")) {
	MP3RootPackage root = metadata.getRootPackageGeneric();
	if (root.getID3V1() != null) {

		System.out.println(root.getID3V1().getAlbum());
		System.out.println(root.getID3V1().getArtist());
		System.out.println(root.getID3V1().getTitle());
		System.out.println(root.getID3V1().getVersion());
		System.out.println(root.getID3V1().getComment());
		// ...
	}
}

Puoi estrarre i tag ID3v2 in modo simile. I passaggi seguenti mostrano come recuperare i tag ID3v2 MP3 in Java.

  • Carica il file MP3 utilizzando la classe Metadata.
  • Ottieni il pacchetto radice.
  • Dalla radice, puoi facilmente recuperare tutti i tag ID3v2 come Artista, Compositori, Editore, Titolo ecc.
  • I dettagli per le immagini allegate possono essere recuperati dalle proprietà di Cornici immagine allegate.

Il seguente esempio di codice sorgente Java legge alcuni dei tag ID3v2 MP3 e i dettagli delle immagini allegate del file MP3.

// Leggi i tag ID3V2 del file MP3
try (Metadata metadata = new Metadata("path/audio-ID3V2.mp3")) {
    MP3RootPackage root = metadata.getRootPackageGeneric();
 
    if (root.getID3V2() != null) {
        System.out.println(root.getID3V2().getAlbum());
        System.out.println(root.getID3V2().getArtist());
        System.out.println(root.getID3V2().getBand());
        System.out.println(root.getID3V2().getTitle());
        System.out.println(root.getID3V2().getComposers());
        System.out.println(root.getID3V2().getCopyright());
        System.out.println(root.getID3V2().getPublisher());
        System.out.println(root.getID3V2().getOriginalAlbum());
        System.out.println(root.getID3V2().getMusicalKey());
 
        if (root.getID3V2().getAttachedPictures() != null) {
            for (ID3V2AttachedPictureFrame attachedPicture : root.getID3V2().getAttachedPictures()) {
                System.out.println(attachedPicture.getAttachedPictureType());
                System.out.println(attachedPicture.getMimeType());
                System.out.println(attachedPicture.getDescription()); 
            }
        }
    }
}

Leggi i tag dei testi MP3 in Java

I seguenti passaggi guidano come leggere i tag dei testi MP3 in Java.

  • Carica il file MP3 utilizzando la classe Metadata.
  • Recupera il pacchetto radice.
  • Dalla radice, puoi ottenere i tag dei testi e le sue proprietà come testi, artista, traccia ecc.

Il seguente frammento di codice Java recupera i tag dei testi MP3 e alcune delle proprietà dal file MP3.

// Leggi i tag dei testi dei file MP3
try (Metadata metadata = new Metadata("path/audio-Lyrics.mp3")) {
	MP3RootPackage root = metadata.getRootPackageGeneric();
	if (root.getLyrics3V2() != null) {
		System.out.println(root.getLyrics3V2().getLyrics());
		System.out.println(root.getLyrics3V2().getAlbum());
		System.out.println(root.getLyrics3V2().getArtist());
		System.out.println(root.getLyrics3V2().getTrack());
		// ...

    // Allo stesso modo, puoi attraversare i campi dei tag
		for (LyricsField field : root.getLyrics3V2().toList()) {
			System.out.println(String.format("%s = %s", field.getID(), field.getData()));
		}
	}
}

Leggi i tag MP3 APEv2 in Java

I seguenti passaggi mostrano come estrarre i tag MP3 APEv2 all’interno dell’applicazione Java.

  • Carica il file MP3 utilizzando la classe Metadata.
  • Recupera il pacchetto radice utilizzando il metodo getRootPackageGeneric().
  • Dalla radice, puoi recuperare i tag APEv2 come Album, Genere, Copyright, Lingua, ecc.

I seguenti esempi di codice Java leggono alcune delle proprietà dei tag APE MP3 di un file MP3.

// Leggi i tag APE dei file MP3
try (Metadata metadata = new Metadata("path/audio-APE.mp3")) {
	MP3RootPackage root = metadata.getRootPackageGeneric();

	if (root.getApeV2() != null) {
		System.out.println(root.getApeV2().getAlbum());
		System.out.println(root.getApeV2().getTitle());
		System.out.println(root.getApeV2().getArtist());
		System.out.println(root.getApeV2().getComposer());
		System.out.println(root.getApeV2().getCopyright());
		System.out.println(root.getApeV2().getGenre());
		System.out.println(root.getApeV2().getLanguage());
		// ...
	}

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per riassumere, abbiamo imparato come estrarre i tag di metadati dai file MP3 in Java. Uno per uno, leggiamo i tag ID3v1, ID3v2, Lyrics e APE e le loro proprietà dai file MP3. Pensa a creare il tuo editor di tag online MP3 e visualizzatore di metadati proprio come App metadati online.

Scopri di più sull’API dalla documentazione e contattaci per domande tramite il forum.

Guarda anche