mp3 - extraia suas tags mp3 de metadados

Existem diferentes padrões de metadados que são usados com arquivos MP3. Vários tipos de dados podem ser armazenados usando diferentes padrões. Neste artigo, discutiremos como ler diferentes tags MP3 usando C#. Especificamente, aprenderemos a extrair tags de metadados ID3v1, ID3v2, Lyrics e APEv2 dos arquivos mp3 dentro do aplicativo .NET.

Os seguintes tópicos são abordados abaixo:

.NET API para editor de tags MP3

GroupDocs.Metadata fornece API .NET para automatizar o gerenciamento de metadados de [vários formatos de arquivo](https://docs.groupdocs.com/metadata/net/supported-document -formats/) dentro de aplicativos .NET. A API permite ler, atualizar, adicionar, limpar e remover os metadados de vários formatos de arquivo. Usaremos esta API para lidar com tags de metadados de arquivos MP3.

Você pode baixar o instalador de DLLs ou MSI na seção de downloads ou instalar a API em seu aplicativo .NET via [NuGet](https ://www.nuget.org/packages/groupdocs.metadata).

PM> Install-Package GroupDocs.Metadata

Leia as tags MP3 ID3 usando C# - ID3v1 e ID3v2

As etapas a seguir mostram como ler as tags MP3 ID3v1 usando C#.

  • Carregue o arquivo MP3 usando a classe Metadata.
  • Recupere o pacote raiz usando o método GetRootPackage().
  • Da raiz, você pode recuperar cada um dos ID3v1.

O código-fonte C# a seguir lê algumas das tags MP3 ID3v1 do arquivo MP3.

// Leia as tags ID3V1 do arquivo 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);
    }
}

Da mesma forma, você pode extrair as tags ID3v2. As etapas a seguir mostram como recuperar as tags MP3 ID3v2 usando C#.

  • Carregue o arquivo MP3 usando a classe Metadata.
  • Obtenha o pacote raiz.
  • A partir da raiz, você pode recuperar todas as tags ID3v2 como Banda, Artista, Compositores, etc.
  • Para as imagens anexadas e seus detalhes, use as propriedades AttachedPictures.

O exemplo de código-fonte C# a seguir lê algumas das tags MP3 ID3v2 e detalhes de imagens anexadas do arquivo MP3.

// Leia as tags ID3V2 do arquivo 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);
            }
        }
    }
}

Leia as tags de letras de MP3 em C

As etapas a seguir guiam para ler as tags de Letras de MP3 usando C#.

  • Carregue o arquivo MP3 usando a classe Metadata.
  • Recupere o pacote raiz.
  • A partir da raiz, você pode obter tags de letras e suas propriedades, como Letra, artista, etc.

O trecho de código C# a seguir recupera as tags de letras de MP3 e algumas de suas propriedades do arquivo MP3.

// Ler tags de letras de arquivos 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);

        // Como alternativa, você pode percorrer uma lista completa de campos de tags
        foreach (var field in root.Lyrics3V2.ToList())
        {
            Console.WriteLine("{0} = {1}", field.ID, field.Data);
        }
    }
}

Leia as tags MP3 APEv2 em C#

As etapas a seguir mostram como podemos extrair as tags MP3 APEv2 usando C#.

  • Carregue o arquivo MP3 usando a classe Metadata.
  • Recupere o pacote raiz usando o método GetRootPackage().
  • A partir da raiz, você pode recuperar todas as tags APEv2 como Álbum, Gênero, Direitos Autorais, Idioma, etc.

Os exemplos de código C# a seguir leem algumas das propriedades das tags MP3 APE de um arquivo MP3.

// Leia as tags APE do arquivo 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);
    }
}

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Para concluir, aprendemos a extrair tags de metadados dos arquivos MP3 usando C#. Lemos as tags ID3v1, ID3v2, Lyrics e APE e suas propriedades dos arquivos MP3. Você pode saber mais sobre a API na documentação e entrar em contato conosco para consultas por meio do fórum .

Veja também