mp3 - extraheer de metadata mp3-tags

Er zijn verschillende metadatastandaarden die worden gebruikt bij mp3-bestanden. Er kunnen verschillende soorten gegevens worden opgeslagen met behulp van verschillende standaarden. In dit artikel bespreken we hoe u verschillende MP3-tags kunt lezen met C#. In het bijzonder zullen we leren om ID3v1-, ID3v2-, Lyrics- en APEv2-metadatatags uit de mp3-bestanden in de .NET-toepassing te extraheren.

De volgende onderwerpen komen hieronder aan bod:

.NET API voor MP3-tag-editor

GroupDocs.Metadata biedt .NET API voor het automatiseren van metadatabeheer van [verschillende bestandsindelingen](https://docs.groupdocs.com/metadata/net/supported-document -formats/) binnen .NET-toepassingen. De API maakt het mogelijk om de metadata voor veel bestandsindelingen te lezen, bij te werken, toe te voegen, op te schonen en te verwijderen. We zullen deze API gebruiken om metadata-tags van MP3-bestanden te verwerken.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloads-sectie of de API in uw .NET-toepassing installeren via NuGet.

PM> Install-Package GroupDocs.Metadata

Lees MP3 ID3-tags met C# - ID3v1 & ID3v2

De volgende stappen laten zien hoe u de MP3 ID3v1-tags kunt lezen met C#.

  • Laad het MP3-bestand met de klasse Metadata.
  • Haal het hoofdpakket op met de methode GetRootPackage().
  • Vanuit de root kunt u elk van de ID3v1.

De volgende C#-broncode leest enkele van de MP3 ID3v1-tags van het MP3-bestand.

// Lees MP3-bestand ID3V1-tags
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);
    }
}

Op dezelfde manier kunt u de ID3v2-tags extraheren. De volgende stappen laten zien hoe u de MP3 ID3v2-tags kunt ophalen met C#.

  • Laad het MP3-bestand met de klasse Metadata.
  • Download het hoofdpakket.
  • Vanuit de root kunt u alle ID3v2-tags ophalen, zoals Band, Artiest, Componisten, enz.
  • Gebruik de AttachedPictures-eigenschappen voor de bijgevoegde afbeeldingen en hun details.

Het volgende C#-broncodevoorbeeld leest enkele van de MP3 ID3v2-tags en bijgevoegde afbeeldingsdetails van het MP3-bestand.

// Lees MP3-bestand ID3V2-tags
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);
            }
        }
    }
}

Lees MP3 Songtekst-tags in C#

De volgende stappen begeleiden om de MP3 Lyrics-tags te lezen met C#.

Het volgende C#-codefragment haalt MP3-songteksttags en enkele van de bijbehorende eigenschappen op uit het MP3-bestand.

// Lees MP3-bestand 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);

        // U kunt ook een volledige lijst met tagvelden doorlopen
        foreach (var field in root.Lyrics3V2.ToList())
        {
            Console.WriteLine("{0} = {1}", field.ID, field.Data);
        }
    }
}

Lees MP3 APEv2-tags in C#

De volgende stappen laten zien hoe we de MP3 APEv2-tags kunnen extraheren met C#.

  • Laad het MP3-bestand met de klasse Metadata.
  • Haal het rootpakket op met behulp van de GetRootPackage()-methode.
  • Vanuit de root kunt u alle APEv2-tags ophalen, zoals album, genre, auteursrechten, taal, enz.

De volgende C#-codevoorbeelden lezen enkele eigenschappen van MP3 APE-tags van een MP3-bestand.

// Lees MP3-bestand APE-tags
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);
    }
}

Ontvang een gratis API-licentie

U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.

Conclusie

Tot slot hebben we geleerd om metadata-tags uit de MP3-bestanden te extraheren met behulp van C#. We lezen ID3v1-, ID3v2-, songtekst- en APE-tags en hun eigenschappen uit de mp3-bestanden. U kunt meer informatie over de API vinden in de documentatie en contact met ons opnemen voor vragen via het forum .

Zie ook