** RIFF (Resource Interchange File Format) は、データをタグ付きチャンクとして格納するためのファイルコンテナ形式です。主にビデオやオーディオなどのマルチメディアを保存するために使用されます。チャンクには、アーティスト、作成日、著作権情報などの情報が含まれる場合があります。この記事では、開発者が C#のWAVオーディオファイルからメタデータとRIFFINFOを抽出する**方法について説明します。

この記事では、次のトピックについて簡単に説明します。

メタデータを管理するための.NETAPI

この記事では、WAVファイルからメタデータを抽出するためのC#の例でGroupDocs.Metadata for .NETAPIを使用します。オーディオWAVファイルに加えて、APIは、MP3ファイルおよびビデオからのメタデータの追加、削除、更新、および抽出をサポートします。さらに、MicrosoftOfficeおよびOpenOfficeのファイル形式、電子書籍、画像、およびその他の多くのドキュメント形式をサポートしています。

ダウンロードセクションからDLLまたはMSIインストーラーをダウンロードするか、NuGetを介して.NETアプリケーションにAPIをインストールできます。

PM> Install-Package GroupDocs.Metadata

C#でWAVファイルのメタデータを抽出する

WAVファイルからのメタデータの抽出から始めましょう。 C#でWAVファイルのWAVパッケージメタデータプロパティを抽出するには、手順と以下のコード例に従います。

  • WAVオーディオファイルをロードします。
  • メタデータのWavRootPackageを取得します。
  • ルートパッケージからWavPackageを抽出します。
  • WAVオーディオのすべてのプロパティにアクセスできるようになりました。
// C#でWAVファイルのメタデータを抽出する
using (Metadata metadata = new Metadata("audio.wav"))
{
    var root = metadata.GetRootPackage<WavRootPackage>();
    Console.WriteLine("Bits per Sample: "   + root.WavPackage.BitsPerSample); // Bits per Sample
    Console.WriteLine("Block Align: "       + root.WavPackage.BlockAlign); // Block Align
    Console.WriteLine("Byte Rate: "         + root.WavPackage.ByteRate); // Byte Rate
    Console.WriteLine("Number of Channels: " + root.WavPackage.NumberOfChannels); // Number of Channels
    Console.WriteLine("Audio Format: "      + root.WavPackage.AudioFormat); // Audio Format 
    Console.WriteLine("Sample Rate: "       + root.WavPackage.SampleRate); // Sample Rate
}

上記のコードの出力は次のとおりです。

Bits per Sample: 16
Block Align: 4
Byte Rate: 176400
Number of Channels: 2
Audio Format: 1
Sample Rate: 44100

C#でWAVファイルのRIFF情報を抽出します

WAVファイルのRIFFINFOも、前に示したWavPackageプロパティの抽出と同じ方法で抽出できます。次の手順を使用して、.NETアプリケーション内でWAVファイル形式のオーディオファイルのRIFFINFOを抽出できます。

  • WAVオーディオファイルをロードします。
  • メタデータのWavRootPackageを取得します。
  • ルートパッケージからRiffInfoPackageを抽出します。
  • WAVオーディオのプロパティにアクセスします。

次のコード例は、C#のWAVファイルのRIFFINFOパッケージメタデータプロパティを抽出します。

// C#でWAVファイルのRIFFINFOを抽出します
using (Metadata metadata = new Metadata("audio.wav"))
{
    var root = metadata.GetRootPackage<WavRootPackage>();
    Console.WriteLine("Artist: "      + root.RiffInfoPackage.Artist); // Artist
    Console.WriteLine("Comment: "     + root.RiffInfoPackage.Comment); // Comment
    Console.WriteLine("Copyright: "   + root.RiffInfoPackage.Copyright); // Copyright
    Console.WriteLine("CreationDate: " + root.RiffInfoPackage.CreationDate); // Creation Date
    Console.WriteLine("Software: "    + root.RiffInfoPackage.Software); // Software
    Console.WriteLine("Engineer: "    + root.RiffInfoPackage.Engineer); // Engineer
    Console.WriteLine("Genre: "       + root.RiffInfoPackage.Genre); // Genre
}

上記のコードの出力は次のとおりです。

Artist: GroupDocs 
Comment: Sample WAV File
Copyright: 
CreationDate: 2020-12-03
Software: Sound Forge
Engineer: SGEFFNER
Genre: Mystery

結論

つまり、C#のWAVファイルからメタデータとRIFFINFOを簡単に取り出すことができます。上記の例を試した後、GroupDocs.MetadataAppのような独自のメタデータエクストラクタ.NETアプリケーションを開発することを検討してください。

GitHubリポジトリには、さらに多くのオープンソースの例があります。ソースコードをダウンロードし、はじめにガイドを使用してサンプルをすばやく実行します。問題が発生した場合は、ドキュメントにアクセスするか、フォーラムでいつでもサポートチームに連絡してください。

関連項目