mp3 - wyodrębnij jego tagi metadanych mp3

W przypadku plików MP3 stosowane są różne standardy metadanych. Różne typy danych mogą być przechowywane przy użyciu różnych standardów. W tym artykule omówimy, jak czytać różne tagi MP3 za pomocą C#. W szczególności nauczymy się wyodrębniać tagi metadanych ID3v1, ID3v2, Lyrics i APEv2 z plików mp3 w aplikacji .NET.

Poniżej omówiono następujące tematy:

.NET API dla edytora tagów MP3

GroupDocs.Metadata zapewnia interfejs API .NET do automatyzacji zarządzania metadanymi [różnych formatów plików](https://docs.groupdocs.com/metadata/net/supported-document -formaty/) w aplikacjach .NET. API pozwala odczytywać, aktualizować, dodawać, czyścić i usuwać metadane dla wielu formatów plików. Będziemy używać tego interfejsu API do obsługi znaczników metadanych plików MP3.

Możesz pobrać instalator bibliotek DLL lub MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Metadata

Czytaj tagi MP3 ID3 za pomocą C# - ID3v1 i ID3v2

Poniższe kroki pokazują, jak odczytać znaczniki MP3 ID3v1 przy użyciu języka C#.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz pakiet główny przy użyciu metody GetRootPackage().
  • Z katalogu głównego możesz pobrać każdy plik ID3v1.

Poniższy kod źródłowy C# odczytuje niektóre znaczniki MP3 ID3v1 pliku MP3.

// Czytaj tagi ID3V1 pliku 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);
    }
}

Podobnie możesz wyodrębnić tagi ID3v2. Poniższe kroki pokazują, jak pobrać tagi MP3 ID3v2 przy użyciu języka C#.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz pakiet główny.
  • Z katalogu głównego możesz pobrać wszystkie tagi ID3v2, takie jak Zespół, Artysta, Kompozytorzy itp.
  • W przypadku załączonych obrazów i ich szczegółów użyj właściwości AttachedPictures.

Poniższy przykładowy kod źródłowy C# odczytuje niektóre tagi MP3 ID3v2 i dołączone szczegóły obrazu pliku MP3.

// Czytaj tagi ID3V2 pliku 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);
            }
        }
    }
}

Czytaj tagi tekstów MP3 w C#

Poniższe kroki prowadzą do odczytywania tagów tekstów piosenek MP3 przy użyciu języka C#.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz pakiet główny.
  • Z poziomu katalogu głównego możesz pobrać tagi tekstu i jego właściwości, takie jak tekst, wykonawca itp.

Poniższy fragment kodu w języku C# pobiera tagi tekstu MP3 i niektóre jego właściwości z pliku MP3.

// Czytaj tagi tekstu pliku 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);

        // Alternatywnie możesz przeglądać pełną listę pól tagów
        foreach (var field in root.Lyrics3V2.ToList())
        {
            Console.WriteLine("{0} = {1}", field.ID, field.Data);
        }
    }
}

Czytaj tagi MP3 APEv2 w C#

Poniższe kroki pokazują, jak możemy wyodrębnić tagi MP3 APEv2 za pomocą języka C#.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz pakiet główny za pomocą metody GetRootPackage().
  • Z katalogu głównego możesz pobrać wszystkie tagi APEv2, takie jak album, gatunek, prawa autorskie, język itp.

Poniższe przykłady kodu w języku C# odczytują niektóre właściwości znaczników MP3 APE pliku MP3.

// Czytaj tagi APE plików 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);
    }
}

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z interfejsu API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyliśmy się wyodrębniać znaczniki metadanych z plików MP3 za pomocą języka C#. Odczytujemy tagi ID3v1, ID3v2, Lyrics i APE oraz ich właściwości z plików MP3. Możesz dowiedzieć się więcej o interfejsie API z dokumentacji i skontaktować się z nami w sprawie pytań za pośrednictwem forum .

Zobacz też