RIFF(资源交换文件格式) 是一种文件容器格式,用于将数据存储为标记的块。它主要用于存储视频和音频等多媒体。 chunk 可能包含艺术家、创作日期、版权信息等信息。本文将指导开发者**从 C# 中的 WAV 音频文件中提取元数据和 RIFF INFO。
本文将简要介绍以下主题:
用于管理元数据的 .NET API
在本文中,我将在 C# 示例中使用 GroupDocs.Metadata for .NET API 从 WAV 文件中提取元数据。除了音频 WAV 文件外,API 还支持从 MP3 文件和视频中添加、删除、更新和提取元数据。此外,它还支持 Microsoft Office 和 Open Office 文件格式、电子书、图像和许多其他文档格式。
您可以从 下载部分 下载 DLLs 或 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 INFO
WAV 文件的 RIFF INFO 也可以以与前面所示的 WavPackage 属性提取相同的方式提取。使用以下步骤,您可以在 .NET 应用程序中提取 WAV 文件格式的音频文件的 RIFF INFO。
- 加载 WAV 音频文件。
- 获取元数据的WavRootPackage。
- 从根包中提取 RiffInfoPackage。
- 现在访问 WAV 音频的属性。
以下代码示例提取 C# 中 WAV 文件的 RIFF INFO 包元数据属性。
// 在 C# 中提取 WAV 文件的 RIFF INFO
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 存储库 中提供了更多开源示例。下载源代码并使用 入门 指南快速运行示例。如有任何困难,请访问 文档 或随时在 论坛 上联系支持团队。