mp3-メタデータを抽出するmp3タグ

MP3ファイルで使用されるさまざまなメタデータ標準があります。さまざまな種類のデータを、さまざまな標準を使用して保存できます。この記事では、** C#を使用してさまざまなMP3タグを読み取る方法**について説明します。具体的には、.NETアプリケーション内のmp3ファイルからID3v1、ID3v2、Lyrics、およびAPEv2メタデータタグを抽出する方法を学習します。

以下のトピックについて説明します。

.NET APIforMP3タグエディタ

GroupDocs.Metadata は、さまざまなファイル形式 のメタデータ管理を自動化する.NETAPIを提供します-formats /) .NETアプリケーション内。 APIを使用すると、多くのファイル形式のメタデータを読み取り、更新、追加、クリーンアップ、および削除できます。このAPIを使用して、MP3ファイルのメタデータタグを処理します。

ダウンロードセクション からDLLまたはMSIインストーラーをダウンロードするか、NuGet

PM> Install-Package GroupDocs.Metadata

C#を使用してMP3 ID3タグを読み取る-ID3v1&ID3v2

次の手順は、C#を使用してMP3ID3v1タグを読み取る方法を示しています。

  • Metadata クラスを使用してMP3ファイルをロードします。
  • ** GetRootPackage() **メソッドを使用して、ルートパッケージ を取得します。 *ルートから、各ID3v1を取得できます。

次のC#ソースコードは、MP3ファイルのMP3ID3v1タグの一部を読み取ります。

// 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#を使用してMP3ID3v2タグを取得する方法を示しています。

  • Metadata クラスを使用してMP3ファイルをロードします。
  • ルートパッケージ を取得します。 *ルートから、Band、Artist、ComposersなどのすべてのID3v2タグを取得できます。 *添付画像とその詳細については、AttachedPicturesプロパティを使用してください。

次のC#ソースコードの例では、MP3ID3v2タグの一部とMP3ファイルの添付画像の詳細を読み取ります。

// 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#でMP3APEv2タグを読む

次の手順は、C#を使用してMP3APEv2タグを抽出する方法を示しています。

  • Metadata クラスを使用してMP3ファイルをロードします。
  • ** GetRootPackage() メソッドを使用してルートパッケージ**を取得します。 *ルートから、アルバム、ジャンル、著作権、言語などのすべてのAPEv2タグを取得できます。

次のC#コード例は、MP3ファイルのMP3APEタグのプロパティの一部を読み取ります。

// 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ファイルからメタデータタグを抽出する方法を学びました。 ID3v1、ID3v2、Lyrics、APEタグとそれらのプロパティをMP3ファイルから読み取ります。 APIの詳細については、ドキュメント を参照し、フォーラム からクエリについてお問い合わせください。 。

関連項目