mp3 - видобути його метадані теги mp3

Для файлів MP3 використовуються різні стандарти метаданих. За допомогою різних стандартів можна зберігати різні типи даних. У цій статті ми обговоримо, як читати різні теги MP3 за допомогою C#. Зокрема, ми навчимося видобувати теги метаданих ID3v1, ID3v2, Lyrics і APEv2 із файлів mp3 у програмі .NET.

Нижче описано наступні теми:

.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 з документації і зв’язатися з нами для запитів через форум .

Дивись також