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

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.

Siehe auch