mp3 - извлечь его теги метаданных mp3

Существуют различные стандарты метаданных, которые используются с файлами MP3. Различные типы данных могут храниться с использованием разных стандартов. В этой статье мы обсудим, как читать различные теги MP3 с помощью C#. В частности, мы научимся извлекать теги метаданных ID3v1, ID3v2, Lyrics и APEv2 из файлов mp3 в приложении .NET.

Ниже рассматриваются следующие темы:

.NET API для редактора тегов MP3

GroupDocs.Metadata предоставляет .NET API для автоматизации управления метаданными различных форматов файлов в приложениях .NET. API позволяет читать, обновлять, добавлять, очищать и удалять метаданные для многих форматов файлов. Мы будем использовать этот API для работы с тегами метаданных файлов MP3.

Вы можете загрузить DLL или MSI установщик из раздела загрузок или установить API в своем приложении .NET через [NuGet](https ://www.nuget.org/packages/groupdocs.metadata).

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 файл Lyrics 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);

        // Кроме того, вы можете просмотреть полный список полей тегов.
        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 из документации и связаться с нами по вопросам через форум .

Смотрите также