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 om MP3-tags te beheren
- Lees MP3 ID3-tags - ID3v1 & ID3v2
- Ontvang MP3-teksttags
- MP3 APEv2-tags ophalen
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.
- Laad het MP3-bestand met de klasse Metadata.
- Haal het [hoofdpakket] op (https://apireference.groupdocs.com/metadata/java/com.groupdocs.metadata.core/MP3RootPackage).
- Vanuit de root kun je songteksttags en de eigenschappen ervan krijgen, zoals songteksten, artiest, track enz.
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.