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:
- API .NET para gerenciar tags MP3
- Ler tags MP3 ID3 - ID3v1 e ID3v2
- Obter Tags de Letras MP3
- Recuperar tags MP3 APEv2
.NET API para editor de tags MP3
GroupDocs.Metadata fornece API .NET para automatizar o gerenciamento de metadados de vários formatos de arquivo 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 fazer o download do instalador de DLLs ou MSI na seção de downloads ou instalar a API em seu aplicativo .NET por meio de NuGet.
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 .