RIFF(資源交換文件格式)是一種文件容器格式,用於將數據存儲為標記塊。它主要用於存儲視頻和音頻等多媒體。 Chunk中可能包含藝術家、創作日期、版權信息等信息。本文將指導開發者用C#從WAV音頻文件中提取元數據和RIFF INFO。
本文將簡要介紹以下主題:
用於管理元數據的 .NET API
在本文中,我將在 C# 示例中使用 GroupDocs.Metadata for .NET API 從 WAV 文件中提取元數據。除了音頻 WAV 文件外,API 還支持從 MP3 文件和視頻中添加、刪除、更新和提取元數據。此外,它還支持 Microsoft Office 和 Open Office 文件格式、電子書、圖像和許多其他文檔格式。
您可以從 下載部分 下載 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 文件的 RIFF INFO 也可以通過與前面顯示的 WavPackage 屬性提取相同的方式提取。使用以下步驟,您可以在 .NET 應用程序中提取 WAV 文件格式的音頻文件的 RIFF 信息。
- 加載 WAV 音頻文件。
- 獲取元數據的 WavRootPackage。
- 從根包中提取 RiffInfoPackage。
- 現在訪問 WAV 音頻的屬性。
以下代碼示例在 C# 中提取 WAV 文件的 RIFF INFO 包元數據屬性。
// 在 C# 中提取 WAV 文件的 RIFF 信息
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文件中取出元數據和RIFF INFO。在嘗試了上述示例之後,考慮開發您自己的元數據提取器 .NET 應用程序,例如 GroupDocs.Metadata App。
GitHub 存儲庫 中提供了更多開源示例。下載源代碼並使用 入門 指南快速運行示例。如有任何困難,請訪問 文檔 或隨時在 論壇 上聯繫支持團隊。