mp3 - extrahieren Sie seine Metadaten-MP3-Tags

Es gibt verschiedene Metadatenstandards, die mit MP3-Dateien verwendet werden. Verschiedene Arten von Daten können mit unterschiedlichen Standards gespeichert werden. In diesem Artikel werden wir diskutieren, wie verschiedene MP3-Tags mit C# gelesen werden. Insbesondere werden wir lernen, ID3v1-, ID3v2-, Songtext- und APEv2-Metadaten-Tags aus den MP3-Dateien innerhalb der .NET-Anwendung zu extrahieren.

Nachfolgend werden folgende Themen behandelt:

.NET-API für MP3-Tags-Editor

GroupDocs.Metadata bietet eine .NET-API zur Automatisierung der Metadatenverwaltung von verschiedenen Dateiformaten innerhalb von .NET-Anwendungen. Die API ermöglicht das Lesen, Aktualisieren, Hinzufügen, Bereinigen und Entfernen der Metadaten für viele Dateiformate. Wir werden diese API verwenden, um mit Metadaten-Tags von MP3-Dateien umzugehen.

Sie können die DLLs oder das MSI-Installationsprogramm aus dem Downloadbereich herunterladen oder die API in Ihrer .NET-Anwendung über NuGet installieren.

PM> Install-Package GroupDocs.Metadata

Lesen Sie MP3-ID3-Tags mit C# - ID3v1 & ID3v2

Die folgenden Schritte zeigen, wie die MP3-ID3v1-Tags mit C# gelesen werden.

  • Laden Sie die MP3-Datei mit der Klasse Metadata.
  • Rufen Sie das Stammpaket mit der Methode GetRootPackage() ab.
  • Vom Stammverzeichnis aus können Sie alle ID3v1.

Der folgende C#-Quellcode liest einige der MP3-ID3v1-Tags der MP3-Datei.

// Lesen Sie MP3-Datei-ID3V1-Tags
using (Metadata metadata = new Metadata(Constants.MP3WithID3V1))
{
    var root = metadata.GetRootPackage<MP3RootPackage>();

    if (root.ID3V1 != null)
    {
        Console.WriteLine(root.ID3V1.Album);
        Console.WriteLine(root.ID3V1.Artist);
        Console.WriteLine(root.ID3V1.Title);
        Console.WriteLine(root.ID3V1.Version);
        Console.WriteLine(root.ID3V1.Comment);
    }
}

Ebenso können Sie die ID3v2-Tags extrahieren. Die folgenden Schritte zeigen, wie Sie die MP3-ID3v2-Tags mit C# abrufen.

  • Laden Sie die MP3-Datei mit der Klasse Metadata.
  • Holen Sie sich das Root-Paket.
  • Vom Stammverzeichnis aus können Sie alle ID3v2-Tags wie Band, Künstler, Komponisten usw. abrufen.
  • Verwenden Sie für die angehängten Bilder und ihre Details die AttachedPictures-Eigenschaften.

Das folgende C#-Quellcodebeispiel liest einige der MP3-ID3v2-Tags und angehängten Bilddetails der MP3-Datei.

// Lesen Sie ID3V2-Tags von MP3-Dateien
using (Metadata metadata = new Metadata(Constants.MP3WithID3V2))
{
    var root = metadata.GetRootPackage<MP3RootPackage>();

    if (root.ID3V2 != null)
    {
        Console.WriteLine(root.ID3V2.Album);
        Console.WriteLine(root.ID3V2.Artist);
        Console.WriteLine(root.ID3V2.Band);
        Console.WriteLine(root.ID3V2.Title);
        Console.WriteLine(root.ID3V2.Composers);
        Console.WriteLine(root.ID3V2.Copyright);
        Console.WriteLine(root.ID3V2.Publisher);
        Console.WriteLine(root.ID3V2.OriginalAlbum);
        Console.WriteLine(root.ID3V2.MusicalKey);

        if (root.ID3V2.AttachedPictures != null)
        {
            foreach (var attachedPicture in root.ID3V2.AttachedPictures)
            {
                Console.WriteLine(attachedPicture.AttachedPictureType);
                Console.WriteLine(attachedPicture.MimeType);
                Console.WriteLine(attachedPicture.Description);
            }
        }
    }
}

Lesen Sie MP3-Text-Tags in C#

Die folgenden Schritte führen zum Lesen der MP3-Text-Tags mit C#.

Der folgende C#-Codeausschnitt ruft MP3-Liedtext-Tags und einige seiner Eigenschaften aus der MP3-Datei ab.

// Lesen Sie MP3-Datei Songtext-Tags
using (Metadata metadata = new Metadata(Constants.MP3WithLyrics))
{
    var root = metadata.GetRootPackage<MP3RootPackage>();

    if (root.Lyrics3V2 != null)
    {
        Console.WriteLine(root.Lyrics3V2.Lyrics);
        Console.WriteLine(root.Lyrics3V2.Album);
        Console.WriteLine(root.Lyrics3V2.Artist);
        Console.WriteLine(root.Lyrics3V2.Track);

        // Alternativ können Sie eine vollständige Liste von Tag-Feldern durchlaufen
        foreach (var field in root.Lyrics3V2.ToList())
        {
            Console.WriteLine("{0} = {1}", field.ID, field.Data);
        }
    }
}

MP3 APEv2-Tags in C# lesen

Die folgenden Schritte zeigen, wie wir die MP3-APEv2-Tags mit C# extrahieren können.

  • Laden Sie die MP3-Datei mit der Klasse Metadata.
  • Rufen Sie das Root-Paket mit der Methode GetRootPackage() ab.
  • Vom Stammverzeichnis aus können Sie alle APEv2-Tags wie Album, Genre, Urheberrechte, Sprache usw. abrufen.

Die folgenden C#-Codebeispiele lesen einige der Eigenschaften von MP3-APE-Tags einer MP3-Datei.

// Liest MP3-Datei-APE-Tags
using (Metadata metadata = new Metadata(Constants.MP3WithApe))
{
    var root = metadata.GetRootPackage<MP3RootPackage>();

    if (root.ApeV2 != null)
    {
        Console.WriteLine(root.ApeV2.Album);
        Console.WriteLine(root.ApeV2.Title);
        Console.WriteLine(root.ApeV2.Artist);
        Console.WriteLine(root.ApeV2.Composer);
        Console.WriteLine(root.ApeV2.Copyright);
        Console.WriteLine(root.ApeV2.Genre);
        Console.WriteLine(root.ApeV2.Language);
    }
}

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

Abschließend haben wir gelernt, Metadaten-Tags aus den MP3-Dateien mit C# zu extrahieren. Wir lesen ID3v1-, ID3v2-, Lyrics- und APE-Tags und ihre Eigenschaften aus den MP3-Dateien. Sie können mehr über die API in der Dokumentation erfahren und uns bei Fragen über das Forum kontaktieren. .

Siehe auch