Metadatenvarianten werden mit Dokumenten unterschiedlicher Dateiformate angehängt. MP3-Dateien enthalten üblicherweise ID3-Metadaten-Tags. Dieser Artikel beschreibt wie verschiedene MP3-Tags in Java gelesen werden. Nacheinander werden wir sehen, wie man ID3 (IDEv1, ID3v2), Songtexte und APEv2-Metadaten-Tags aus den MP3-Dateien mithilfe der Java-Metadaten-API extrahiert.
Nachfolgend werden folgende Themen behandelt:
- Java-API zum Verwalten von MP3-Tags
- MP3-ID3-Tags lesen - ID3v1 & ID3v2
- MP3-Text-Tags abrufen
- MP3-APEv2-Tags abrufen
Java-API für MP3-Metadaten-Tags
GroupDocs.Metadata ist mit APIs ausgestattet, um die Metadatenverwaltung von verschiedenen Dateiformaten innerhalb von Anwendungen. Die Java-API ermöglicht es Ihnen, die Metadaten für viele Dateiformate innerhalb der Java-Anwendung zu lesen, zu aktualisieren, hinzuzufügen, zu bereinigen und zu entfernen. Wir werden es verwenden, um mit MP3-Metadaten-Tags zu arbeiten.
Herunterladen und konfigurieren
Holen Sie sich die Metadatenbibliothek aus dem Abschnitt Downloads. Fügen Sie für Ihre Maven-basierte Java-Anwendung einfach die folgende pom.xml-Konfiguration hinzu. Danach können Sie die Beispiele dieses Artikels sowie die vielen weiteren Beispiele ausprobieren, die auf GitHub verfügbar sind. Einzelheiten finden Sie in der API-Referenz.
<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>
Lesen Sie MP3-ID3-Tags in Java - ID3v1 & ID3v2
Die folgenden Schritte zeigen, wie die MP3-ID3v1-Tags mit Java gelesen werden.
- Laden Sie die MP3-Datei mit der Klasse Metadata.
- Rufen Sie das MP3RootPackage mit der Methode getRootPackageGeneric() ab.
- Rufen Sie alle ID3v1-Eigenschaften aus dem Root-Paket ab.
Der folgende Java-Quellcode liest einige der MP3-ID3v1-Tags der MP3-Datei.
// Lesen Sie MP3-Datei-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());
// ...
}
}
Sie können die ID3v2-Tags auf ähnliche Weise extrahieren. Die folgenden Schritte zeigen, wie Sie die MP3-ID3v2-Tags in Java abrufen.
- Laden Sie die MP3-Datei mit der Klasse Metadata.
- Holen Sie sich das Stammpaket.
- Von der Wurzel aus können Sie einfach alle ID3v2-Tags wie Künstler, Komponisten, Herausgeber, Titel usw. abrufen.
- Details für angehängte Bilder können aus den Eigenschaften von Attached Picture Frames abgerufen werden.
Das folgende Java-Quellcodebeispiel liest einige der MP3-ID3v2-Tags und angehängten Bilddetails der MP3-Datei.
// Lesen Sie ID3V2-Tags von MP3-Dateien
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());
}
}
}
}
Lesen Sie MP3-Text-Tags in Java
Die folgenden Schritte führen zum Lesen der MP3-Liedtext-Tags in Java.
- Laden Sie die MP3-Datei mit der Klasse Metadata.
- Rufen Sie das [Stammpaket] ab (https://apireference.groupdocs.com/metadata/java/com.groupdocs.metadata.core/MP3RootPackage).
- Von der Wurzel aus können Sie Liedtext-Tags und ihre Eigenschaften wie Liedtext, Interpret, Titel usw. abrufen.
Das folgende Java-Code-Snippet ruft MP3-Liedtext-Tags und einige der Eigenschaften aus der MP3-Datei ab.
// Lesen Sie MP3-Datei Songtext-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());
// ...
// Ebenso können Sie die Tag-Felder durchlaufen
for (LyricsField field : root.getLyrics3V2().toList()) {
System.out.println(String.format("%s = %s", field.getID(), field.getData()));
}
}
}
Lesen Sie MP3 APEv2-Tags in Java
Die folgenden Schritte zeigen, wie wir die MP3-APEv2-Tags in der Java-Anwendung extrahieren können.
- Laden Sie die MP3-Datei mit der Klasse Metadata.
- Rufen Sie das Stammpaket mit der Methode getRootPackageGeneric() ab.
- Vom Stammverzeichnis aus können Sie die APEv2-Tags wie Album, Genre, Urheberrechte, Sprache usw. abrufen.
Die folgenden Java-Codebeispiele lesen einige der Eigenschaften von MP3-APE-Tags einer MP3-Datei.
// Liest MP3-Datei-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());
// ...
}
Holen Sie sich eine kostenlose API-Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.
Fazit
Zusammenfassend haben wir gelernt, wie man Metadaten-Tags aus den MP3-Dateien in Java extrahiert. Nacheinander lesen wir ID3v1-, ID3v2-, Lyrics- und APE-Tags und ihre Eigenschaften aus den MP3-Dateien. Denken Sie darüber nach, Ihren eigenen MP3-Online-Tag-Editor und Metadaten-Viewer zu erstellen, genau wie Online Metadata App.
Erfahren Sie mehr über die API in der Dokumentation und kontaktieren Sie uns bei Fragen über das Forum.