Des variantes de métadonnées sont jointes à des documents de différents formats de fichiers. Les fichiers MP3 contiennent généralement des balises de métadonnées ID3. Cet article explique comment lire différentes balises MP3 en Java. Un par un, nous verrons comment extraire les balises de métadonnées ID3 (IDEv1, ID3v2), Paroles et APEv2 des fichiers mp3 à l’aide de l’API Java Metadata.

Les sujets suivants sont traités ci-dessous :

API Java pour les balises de métadonnées MP3

GroupDocs.Metadata est équipé d’API pour automatiser la gestion des métadonnées de divers formats de fichiers dans les applications. Son API Java vous permet de lire, mettre à jour, ajouter, nettoyer et supprimer les métadonnées pour de nombreux formats de fichiers dans l’application Java. Nous l’utiliserons pour travailler avec les balises de métadonnées MP3.

Télécharger et configurer

Obtenez la bibliothèque de métadonnées à partir de la section downloads. Pour votre application Java basée sur Maven, ajoutez simplement la configuration pom.xml suivante. Après cela, vous pouvez essayer les exemples de cet article ainsi que les nombreux autres exemples disponibles sur GitHub. Pour plus de détails, vous pouvez visiter la API Reference.

<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>

Lire les balises MP3 ID3 en Java - ID3v1 & ID3v2

Les étapes suivantes montrent comment lire les balises MP3 ID3v1 à l’aide de Java.

  • Chargez le fichier MP3 à l’aide de la classe Metadata.
  • Récupérez le MP3RootPackage à l’aide de la méthode getRootPackageGeneric().
  • À partir du package racine, récupérez chacune des propriétés ID3v1.

Le code source Java suivant lit certaines des balises MP3 ID3v1 du fichier MP3.

// Lire les balises ID3V1 des fichiers 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());
		// ...
	}
}

Vous pouvez extraire les balises ID3v2 de la même manière. Les étapes suivantes montrent comment récupérer les balises MP3 ID3v2 en Java.

  • Chargez le fichier MP3 à l’aide de la classe Metadata.
  • Obtenez le paquet racine.
  • À partir de la racine, vous pouvez facilement récupérer toutes les balises ID3v2 telles que Artiste, Compositeurs, Éditeur, Titre, etc.
  • Les détails des images jointes peuvent être récupérés à partir des propriétés de Cadres d’image attachés.

L’exemple de code source Java suivant lit certaines des balises MP3 ID3v2 et les détails des images jointes du fichier MP3.

// Lire les balises ID3V2 des fichiers 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()); 
            }
        }
    }
}

Lire les balises de paroles MP3 en Java

Les étapes suivantes expliquent comment lire les balises MP3 Lyrics en Java.

  • Chargez le fichier MP3 à l’aide de la classe Metadata.
  • Récupérez le paquet racine.
  • À partir de la racine, vous pouvez obtenir des balises de paroles et ses propriétés comme les paroles, l’artiste, la piste, etc.

L’extrait de code Java suivant récupère les balises de paroles MP3 et certaines des propriétés du fichier MP3.

// Lire les balises de paroles de fichiers 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());
		// ...

    // De même, vous pouvez parcourir les champs de balise
		for (LyricsField field : root.getLyrics3V2().toList()) {
			System.out.println(String.format("%s = %s", field.getID(), field.getData()));
		}
	}
}

Lire les balises MP3 APEv2 en Java

Les étapes suivantes montrent comment nous pouvons extraire les balises MP3 APEv2 dans l’application Java.

  • Chargez le fichier MP3 à l’aide de la classe Metadata.
  • Récupérez le paquet racine à l’aide de la méthode getRootPackageGeneric().
  • À partir de la racine, vous pouvez récupérer les balises APEv2 telles que Album, Genre, Copyrights, Language, etc.

Les exemples de code Java suivants lisent certaines des propriétés des balises MP3 APE d’un fichier MP3.

// Lire les balises APE des fichiers 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());
		// ...
	}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser l’API sans les limitations d’évaluation.

Conclusion

Pour résumer, nous avons appris à extraire les balises de métadonnées des fichiers MP3 en Java. Un par un, nous lisons les balises ID3v1, ID3v2, Paroles et APE et leurs propriétés à partir des fichiers MP3. Pensez à créer votre propre éditeur de balises MP3 en ligne et visualiseur de métadonnées, tout comme Online Metadata App.

Apprenez-en plus sur l’API dans la documentation et contactez-nous pour toute question via le forum.

Voir également