RIFF (формат файла обмена ресурсами) — это формат файлового контейнера для хранения данных в виде фрагментов с тегами. Он в основном используется для хранения мультимедиа, таких как видео и аудио. Фрагмент может включать в себя такую информацию, как имя исполнителя, дата создания, информация об авторских правах и т. д. Эта статья поможет разработчикам извлекать метаданные и 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. Загрузите исходный код и быстро запустите примеры с помощью руководства начало работы. В случае каких-либо трудностей посетите документацию или обратитесь в службу поддержки в любое время на форуме.

Смотрите также