mp3 - 提取其元數據 mp3 標籤

MP3 文件使用不同的元數據標準。可以使用不同的標準存儲各種類型的數據。在本文中,我們將討論如何使用 C# 讀取不同的 MP3 標籤。具體來說,我們將學習從 .NET 應用程序中的 mp3 文件中提取 ID3v1、ID3v2、歌詞和 APEv2 元數據標籤。

以下主題涵蓋如下:

用於 MP3 標籤編輯器的 .NET API

GroupDocs.Metadata 提供 .NET API 來自動管理 [各種文件格式](https://docs.groupdocs.com/metadata/net/supported-document -formats/) 在 .NET 應用程序中。 API 允許讀取、更新、添加、清理和刪除許多文件格式的元數據。我們將使用這個 API 來處理 MP3 文件的元數據標籤。

您可以從 下載部分 下載 DLL 或 MSI 安裝程序,或通過 NuGet 在您的 .NET 應用程序中安裝 API。

PM> Install-Package GroupDocs.Metadata

使用 C# 讀取 MP3 ID3 標籤 - ID3v1 & ID3v2

以下步驟顯示如何使用 C# 讀取 MP3 ID3v1 標籤。

  • 使用 Metadata 類加載 MP3 文件。
  • 使用 GetRootPackage() 方法檢索 根包
  • 從根目錄中,您可以檢索每個 ID3v1。

以下 C# 源代碼讀取 MP3 文件的一些 MP3 ID3v1 標籤。

// 讀取 MP3 文件 ID3V1 標籤
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);
    }
}

同樣,您可以提取 ID3v2 標籤。以下步驟顯示如何使用 C# 檢索 MP3 ID3v2 標籤。

  • 使用 Metadata 類加載 MP3 文件。
  • 獲取 根包
  • 從根目錄中,您可以檢索所有 ID3v2 標籤,如樂隊、藝術家、作曲家等。
  • 對於附加圖片及其詳細信息,請使用 AttachedPictures 屬性。

以下 C# 源代碼示例讀取 MP3 文件的一些 MP3 ID3v2 標籤和附加圖片詳細信息。

// 讀取MP3文件ID3V2標籤
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);
            }
        }
    }
}

在 C# 中讀取 MP3 歌詞標籤

以下步驟指導使用 C# 讀取 MP3 歌詞標籤。

  • 使用 Metadata 類加載 MP3 文件。
  • 檢索 根包
  • 從根目錄中,您可以獲得歌詞標籤及其屬性,如歌詞、藝術家等。

以下 C# 代碼片段從 MP3 文件中檢索 MP3 歌詞標籤及其一些屬性。

// 讀取 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);

        // 或者,您可以遍歷完整的標籤字段列表
        foreach (var field in root.Lyrics3V2.ToList())
        {
            Console.WriteLine("{0} = {1}", field.ID, field.Data);
        }
    }
}

在 C# 中讀取 MP3 APEv2 標籤

以下步驟展示了我們如何使用 C# 提取 MP3 APEv2 標籤。

  • 使用 Metadata 類加載 MP3 文件。
  • 使用 GetRootPackage() 方法檢索根包。
  • 從根目錄,您可以檢索所有 APEv2 標籤,如專輯、流派、版權、語言等。

以下 C# 代碼示例讀取 MP3 文件的 MP3 APE 標籤的一些屬性。

// 讀取 MP3 文件 APE 標籤
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);
    }
}

獲取免費的 API 許可證

您可以 獲得免費的臨時許可證 以不受評估限制地使用 API。

結論

總而言之,我們學習了使用 C# 從 MP3 文件中提取元數據標籤。我們從 MP3 文件中讀取 ID3v1、ID3v2、歌詞和 APE 標籤及其屬性。您可以從文檔了解更多關於API的信息,並通過論壇聯繫我們進行查詢.

也可以看看