RIFF (формат файла обмена ресурсами) — это формат файлового контейнера для хранения данных в виде фрагментов с тегами. Он в основном используется для хранения мультимедиа, таких как видео и аудио. Фрагмент может включать в себя такую информацию, как имя исполнителя, дата создания, информация об авторских правах и т. д. Эта статья поможет разработчикам извлекать метаданные и RIFF INFO из аудиофайлов WAV на языке C#.
Кратко в статье будут затронуты следующие темы:
- .NET API для управления метаданными
- Извлечение метаданных файлов WAV в C#
- Извлечение RIFF INFO из файлов WAV в C#
.NET API для управления метаданными
В этой статье я буду использовать API GroupDocs.Metadata for .NET в примерах C# для извлечения метаданных из файлов WAV. В дополнение к аудиофайлам WAV API поддерживает добавление, удаление, обновление и извлечение метаданных из файлов MP3 и видео. Кроме того, он поддерживает форматы файлов Microsoft Office и Open Office, электронные книги, изображения и многие другие форматы документов.
Вы можете загрузить DLL или MSI установщик из раздела загрузок или установить API в свое приложение .NET через NuGet.
PM> Install-Package GroupDocs.Metadata
Извлечение метаданных файлов WAV в C#
Начнем с извлечения метаданных из файлов WAV. Следуйте инструкциям и приведенному ниже примеру кода для извлечения свойств метаданных пакета WAV из файлов WAV в C#.
- Загрузите аудиофайл WAV.
- Получите WavRootPackage метаданных.
- Извлеките WavPackage из корневого пакета.
- Теперь вы можете получить доступ ко всем свойствам аудио WAV.
// Извлечь метаданные файлов WAV в C#
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
Извлечение RIFF INFO из файлов WAV в C#
RIFF INFO файлов WAV также может быть извлечена таким же образом, как извлечение свойств WavPackage, показанное ранее. Используя следующие шаги, вы можете извлечь RIFF INFO аудиофайла формата WAV в вашем приложении .NET.
- Загрузите аудиофайл WAV.
- Получите WavRootPackage метаданных.
- Извлеките RiffInfoPackage из корневого пакета.
- Теперь доступ к свойствам аудио WAV.
В следующем примере кода извлекаются свойства метаданных пакета RIFF INFO из WAV-файла на языке C#.
// Извлечение RIFF INFO из файлов WAV в C#
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
Вывод
Короче говоря, извлечь метаданные и RIFF INFO из файлов WAV на C# очень просто. Попробовав приведенные выше примеры, подумайте о разработке собственного приложения .NET для извлечения метаданных, например GroupDocs.Metadata App.
Есть много других примеров с открытым исходным кодом, доступных в репозиторий GitHub. Загрузите исходный код и быстро запустите примеры с помощью руководства начало работы. В случае каких-либо трудностей посетите документацию или обратитесь в службу поддержки в любое время на форуме.