U souborů MP3 se používají různé standardy metadat. Pomocí různých standardů lze ukládat různé typy dat. V tomto článku budeme diskutovat o tom, jak číst různé značky MP3 pomocí C#. Konkrétně se naučíme extrahovat tagy metadat ID3v1, ID3v2, Lyrics a APEv2 z mp3 souborů v rámci aplikace .NET.
Níže jsou uvedena následující témata:
- .NET API pro správu MP3 tagů
- Přečtěte si MP3 ID3 Tagy - ID3v1 a ID3v2
- Získejte značky s texty MP3
- Načíst značky MP3 APEv2
.NET API pro editor značek MP3
GroupDocs.Metadata poskytuje rozhraní .NET API pro automatizaci správy metadat [různých formátů souborů](https://docs.groupdocs.com/metadata/net/supported-document -formáty/) v rámci aplikací .NET. API umožňuje číst, aktualizovat, přidávat, čistit a odstraňovat metadata pro mnoho formátů souborů. Toto API použijeme pro práci s metadatovými značkami souborů MP3.
Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.
PM> Install-Package GroupDocs.Metadata
Čtěte MP3 ID3 tagy pomocí C# - ID3v1 & ID3v2
Následující kroky ukazují, jak číst tagy MP3 ID3v1 pomocí C#.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Načtěte kořenový balíček pomocí metody GetRootPackage().
- Z kořenového adresáře můžete načíst každý z ID3v1.
Následující zdrojový kód C# čte některé značky MP3 ID3v1 souboru MP3.
// Přečtěte si tagy ID3V1 souboru MP3
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);
}
}
Podobně můžete extrahovat značky ID3v2. Následující kroky ukazují, jak načíst MP3 ID3v2 tagy pomocí C#.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Získejte kořenový balíček.
- Z kořenového adresáře můžete načíst všechny značky ID3v2, jako je kapela, umělec, skladatelé atd.
- Pro přiložené obrázky a jejich podrobnosti použijte vlastnosti AttachedPictures.
Následující příklad zdrojového kódu C# čte některé tagy MP3 ID3v2 a připojené obrázky podrobností souboru MP3.
// Přečtěte si tagy ID3V2 souboru MP3
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);
}
}
}
}
Přečtěte si tagy MP3 Lyrics v C#
Následující kroky vedou ke čtení značek MP3 Lyrics pomocí C#.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Načtěte kořenový balíček.
- Z kořene můžete získat značky textů a jejich vlastnosti, jako je text, umělec atd.
Následující fragment kódu C# načte značky MP3 textů a některé jejich vlastnosti ze souboru MP3.
// Číst značky textů souborů MP3
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);
// Případně můžete procházet úplný seznam polí značek
foreach (var field in root.Lyrics3V2.ToList())
{
Console.WriteLine("{0} = {1}", field.ID, field.Data);
}
}
}
Číst značky MP3 APEv2 v C#
Následující kroky ukazují, jak můžeme extrahovat značky MP3 APEv2 pomocí C#.
- Načtěte soubor MP3 pomocí třídy Metadata.
- Načtěte kořenový balíček pomocí metody GetRootPackage().
- Z kořenového adresáře můžete načíst všechny značky APEv2, jako je album, žánr, autorská práva, jazyk atd.
Následující příklady kódu C# čtou některé vlastnosti MP3 APE tagů souboru MP3.
// Čtení značek APE souborů MP3
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);
}
}
Získejte bezplatnou licenci API
Můžete získat bezplatnou dočasnou licenci k používání API bez omezení hodnocení.
Závěr
Na závěr jsme se naučili extrahovat značky metadat ze souborů MP3 pomocí C#. Ze souborů MP3 načítáme tagy ID3v1, ID3v2, Lyrics a APE a jejich vlastnosti. Více o API se můžete dozvědět z dokumentace a v případě dotazů nás kontaktujte prostřednictvím fóra .