Esistono diversi standard di metadati utilizzati con i file MP3. Vari tipi di dati possono essere archiviati utilizzando standard diversi. In questo articolo, discuteremo di come leggere diversi tag MP3 usando C#. In particolare, impareremo a estrarre i tag di metadati ID3v1, ID3v2, Lyrics e APEv2 dai file mp3 all’interno dell’applicazione .NET.
Di seguito vengono trattati i seguenti argomenti:
- API .NET per gestire i tag MP3
- Leggi tag ID3 MP3 - ID3v1 e ID3v2
- Ottieni tag dei testi MP3
- Recupera tag APEv2 MP3
API .NET per l’editor di tag MP3
GroupDocs.Metadata fornisce l’API .NET per automatizzare la gestione dei metadati di vari formati di file all’interno di applicazioni .NET. L’API consente di leggere, aggiornare, aggiungere, pulire e rimuovere i metadati per molti formati di file. Utilizzeremo questa API per gestire i tag di metadati dei file MP3.
Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite NuGet.
PM> Install-Package GroupDocs.Metadata
Leggi i tag ID3 MP3 usando C# - ID3v1 e ID3v2
I passaggi seguenti mostrano come leggere i tag ID3v1 MP3 utilizzando C#.
- Carica il file MP3 utilizzando la classe Metadata.
- Recupera il pacchetto radice utilizzando il metodo GetRootPackage().
- Dalla radice, puoi recuperare ciascuno degli ID3v1.
Il codice sorgente C# seguente legge alcuni dei tag ID3v1 MP3 del file MP3.
// Leggi i tag ID3V1 del file 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);
}
}
Allo stesso modo, puoi estrarre i tag ID3v2. I passaggi seguenti mostrano come recuperare i tag ID3v2 MP3 utilizzando C#.
- Carica il file MP3 utilizzando la classe Metadata.
- Ottieni il pacchetto radice.
- Dalla radice, puoi recuperare tutti i tag ID3v2 come Band, Artist, Composers, ecc.
- Per le immagini allegate e i relativi dettagli, utilizzare le proprietà AttachedPictures.
L’esempio di codice sorgente C# seguente legge alcuni dei tag ID3v2 MP3 e i dettagli delle immagini allegate del file MP3.
// Leggi i tag ID3V2 del file 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);
}
}
}
}
Leggi i tag dei testi MP3 in C#
I seguenti passaggi guidano per leggere i tag Lyrics MP3 usando C#.
- Carica il file MP3 utilizzando la classe Metadata.
- Recupera il pacchetto radice.
- Dalla radice, puoi ottenere i tag dei testi e le sue proprietà come testi, artista, ecc.
Il seguente frammento di codice C# recupera i tag dei testi MP3 e alcune delle relative proprietà dal file MP3.
// Leggi i tag dei testi dei file 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);
// In alternativa, puoi scorrere un elenco completo di campi tag
foreach (var field in root.Lyrics3V2.ToList())
{
Console.WriteLine("{0} = {1}", field.ID, field.Data);
}
}
}
Leggi i tag MP3 APEv2 in C#
I passaggi seguenti mostrano come estrarre i tag APEv2 MP3 utilizzando C#.
- Carica il file MP3 utilizzando la classe Metadata.
- Recupera il pacchetto radice utilizzando il metodo GetRootPackage().
- Dalla radice, puoi recuperare tutti i tag APEv2 come Album, Genere, Copyright, Lingua, ecc.
Gli esempi di codice C# seguenti leggono alcune delle proprietà dei tag APE MP3 di un file MP3.
// Leggi i tag APE dei file 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);
}
}
Ottieni una licenza API gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.
Conclusione
Per concludere, abbiamo imparato a estrarre i tag di metadati dai file MP3 usando C#. Leggiamo i tag ID3v1, ID3v2, Lyrics e APE e le loro proprietà dai file MP3. Puoi saperne di più sull’API dalla documentazione e contattarci per domande tramite il forum .