Для файлів MP3 використовуються різні стандарти метаданих. За допомогою різних стандартів можна зберігати різні типи даних. У цій статті ми обговоримо, як читати різні теги MP3 за допомогою C#. Зокрема, ми навчимося видобувати теги метаданих ID3v1, ID3v2, Lyrics і APEv2 із файлів mp3 у програмі .NET.
Нижче описано наступні теми:
- .NET API для керування тегами MP3
- Читання тегів MP3 ID3 - ID3v1 і ID3v2
- Отримайте теги текстів MP3
- Отримати теги MP3 APEv2
.NET API для редактора тегів MP3
GroupDocs.Metadata надає API .NET для автоматизації керування метаданими [різних форматів файлів](https://docs.groupdocs.com/metadata/net/supported-document -formats/) у програмах .NET. API дозволяє читати, оновлювати, додавати, очищати та видаляти метадані для багатьох форматів файлів. Ми використовуватимемо цей API для роботи з тегами метаданих MP3-файлів.
Ви можете завантажити DLL або інсталятор MSI із розділу завантажень або встановити API у своїй програмі .NET за допомогою NuGet.
PM> Install-Package GroupDocs.Metadata
Читайте теги MP3 ID3 за допомогою C# - ID3v1 & ID3v2
Наступні кроки показують, як читати теги MP3 ID3v1 за допомогою C#.
- Завантажте файл MP3 за допомогою класу Metadata.
- Отримайте кореневий пакет за допомогою методу GetRootPackage().
- З кореня ви можете отримати кожен із ID3v1.
Наступний вихідний код C# читає деякі теги MP3 ID3v1 у файлі MP3.
// Читання тегів ID3V1 файлу 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);
}
}
Подібним чином ви можете витягнути теги ID3v2. Наступні кроки показують, як отримати теги MP3 ID3v2 за допомогою C#.
- Завантажте файл MP3 за допомогою класу Metadata.
- Отримайте кореневий пакет.
- З кореневої папки ви можете отримати всі теги ID3v2, такі як Band, Artist, Composers тощо.
- Для вкладених зображень і їх деталей використовуйте властивості AttachedPictures.
У наведеному нижче прикладі вихідного коду C# зчитуються деякі теги MP3 ID3v2 і додані зображення файлу MP3.
// Читання тегів ID3V2 файлу 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);
}
}
}
}
Читання тегів текстів MP3 у C#
Наступні кроки допоможуть прочитати теги MP3 Lyrics за допомогою C#.
- Завантажте файл MP3 за допомогою класу Metadata.
- Отримайте кореневий пакет.
- З кореня ви можете отримати теги текстів пісень і їх властивості, як-от Тексти пісень, виконавець тощо.
Наведений нижче фрагмент коду C# отримує теги тексту MP3 і деякі його властивості з файлу MP3.
// Читайте теги тексту файлу 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);
// Крім того, ви можете прокрутити повний список полів тегів
foreach (var field in root.Lyrics3V2.ToList())
{
Console.WriteLine("{0} = {1}", field.ID, field.Data);
}
}
}
Читання тегів MP3 APEv2 у C#
Наступні кроки показують, як ми можемо видобути теги MP3 APEv2 за допомогою C#.
- Завантажте файл MP3 за допомогою класу Metadata.
- Отримайте кореневий пакет за допомогою методу GetRootPackage().
- З кореневого каталогу ви можете отримати всі теги APEv2, як-от альбом, жанр, авторські права, мова тощо.
У наведених нижче прикладах коду C# читаються деякі властивості тегів MP3 APE файлу MP3.
// Читання тегів APE файлу 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);
}
}
Отримайте безкоштовну ліцензію API
Ви можете отримати безкоштовну тимчасову ліцензію, щоб використовувати API без оціночних обмежень.
Висновок
Підсумовуючи, ми навчилися видобувати теги метаданих із MP3-файлів за допомогою C#. Ми читаємо теги ID3v1, ID3v2, Lyrics і APE та їхні властивості з файлів MP3. Ви можете дізнатися більше про API з документації і зв’язатися з нами для запитів через форум .