Varianten van metadata worden bij documenten van verschillende bestandsindelingen gevoegd. MP3-bestanden bevatten gewoonlijk ID3-metadatatags. Dit artikel bespreekt hoe u verschillende MP3-tags in Java kunt lezen. Een voor een zullen we zien hoe ID3- (IDEv1, ID3v2), songteksten en APEv2-metadatatags uit de mp3-bestanden kunnen worden gehaald met behulp van Java Metadata API.

De volgende onderwerpen komen hieronder aan bod:

Java API voor MP3-metadatatags

GroupDocs.Metadata is uitgerust met API’s om metadatabeheer van [verschillende bestandsindelingen](https://docs.groupdocs.com/metadata/net/supported-document -formats/) binnen applicaties. Met de Java API kunt u de metadata voor veel bestandsindelingen binnen de Java-toepassing lezen, bijwerken, toevoegen, opschonen en verwijderen. We zullen het gebruiken om met MP3-metadatatags te werken.

Downloaden en configureren

Haal de metadatabibliotheek op uit het gedeelte downloads. Voeg voor uw op Maven gebaseerde Java-toepassing gewoon de volgende pom.xml-configuratie toe. Hierna kun je de voorbeelden van dit artikel proberen, evenals de vele andere voorbeelden die beschikbaar zijn op GitHub. Voor meer informatie kunt u de API-referentie bezoeken.

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

Lees MP3 ID3-tags in Java - ID3v1 & ID3v2

De volgende stappen laten zien hoe u de MP3 ID3v1-tags kunt lezen met Java.

  • Laad het MP3-bestand met de klasse Metadata.
  • Haal het MP3RootPackage op met behulp van de methode getRootPackageGeneric().
  • Haal elk van de ID3v1-eigenschappen op uit het rootpakket.

De volgende Java-broncode leest enkele van de MP3 ID3v1-tags van het MP3-bestand.

// Lees MP3-bestand ID3V1-tags
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());
		// ...
	}
}

U kunt de ID3v2-tags op een vergelijkbare manier extraheren. De volgende stappen laten zien hoe u de MP3 ID3v2-tags in Java kunt ophalen.

  • Laad het MP3-bestand met de klasse Metadata.
  • Download het hoofdpakket.
  • Vanuit de root kunt u eenvoudig alle ID3v2-tags ophalen, zoals artiest, componisten, uitgever, titel enz.
  • Details voor bijgevoegde afbeeldingen kunnen worden opgehaald uit de eigenschappen van Attached Picture Frames.

Het volgende Java-broncodevoorbeeld leest enkele van de MP3 ID3v2-tags en bijgevoegde afbeeldingsdetails van het MP3-bestand.

// Lees MP3-bestand ID3V2-tags
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()); 
            }
        }
    }
}

Lees MP3-teksttags in Java

De volgende stappen helpen u bij het lezen van de MP3 Lyrics-tags in Java.

Het volgende Java-codefragment haalt MP3-teksttags en enkele eigenschappen uit het MP3-bestand op.

// Lees MP3-bestand Lyrics-tags
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());
		// ...

    // Op dezelfde manier kunt u de tagvelden doorlopen
		for (LyricsField field : root.getLyrics3V2().toList()) {
			System.out.println(String.format("%s = %s", field.getID(), field.getData()));
		}
	}
}

Lees MP3 APEv2-tags in Java

De volgende stappen laten zien hoe we de MP3 APEv2-tags binnen de Java-toepassing kunnen extraheren.

  • Laad het MP3-bestand met de klasse Metadata.
  • Haal het hoofdpakket op met de methode getRootPackageGeneric().
  • Vanuit de root kunt u de APEv2-tags ophalen, zoals album, genre, auteursrechten, taal, enz.

De volgende Java-codevoorbeelden lezen enkele eigenschappen van MP3 APE-tags van een MP3-bestand.

// Lees MP3-bestand APE-tags
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());
		// ...
	}

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Kortom, we hebben geleerd hoe we metadata-tags kunnen extraheren uit de MP3-bestanden in Java. Een voor een lezen we ID3v1-, ID3v2-, songteksten- en APE-tags en hun eigenschappen uit de mp3-bestanden. Denk erover na om uw eigen MP3 online tag-editor en metadataviewer te bouwen, net als Online Metadata App.

Lees meer over de API in de documentatie en neem voor vragen contact met ons op via het forum.

Zie ook