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 zum Verwalten von MP3-Tags
- MP3-ID3-Tags lesen - ID3v1 & ID3v2
- MP3-Text-Tags abrufen
- MP3-APEv2-Tags abrufen
.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#.
- Laden Sie die MP3-Datei mit der Klasse Metadata.
- Rufen Sie das [Stammpaket] ab (https://apireference.groupdocs.com/metadata/net/groupdocs.metadata.formats.audio/mp3rootpackage).
- Von der Wurzel aus können Sie Liedtext-Tags und ihre Eigenschaften wie Liedtext, Interpret usw. abrufen.
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. .