RIFF (Resource Interchange File Format) é um formato de contêiner de arquivo para armazenar dados como partes marcadas. É usado principalmente para armazenar multimídia como vídeo e áudio. A parte pode incluir informações como o artista, a data de criação e informações de direitos autorais, etc. Este artigo orientará os desenvolvedores a extrair metadados e RIFF INFO dos arquivos de áudio WAV em C#.

Os seguintes tópicos serão abordados no artigo em breve:

API .NET para gerenciamento de metadados

Neste artigo, usarei a API GroupDocs.Metadata for .NET nos exemplos C# para extrair metadados de arquivos WAV. Além dos arquivos de áudio WAV, a API suporta adição, remoção, atualização e extração de metadados de arquivos MP3 e vídeos. Além disso, ele suporta os formatos de arquivo do Microsoft Office e Open Office, eBooks, imagens e muitos outros formatos de documentos.

Você pode baixar o instalador DLLs ou MSI da seção de downloads ou instalar a API em seu aplicativo .NET via NuGet.

PM> Install-Package GroupDocs.Metadata

Extrair metadados de arquivos WAV em C

Vamos começar com a extração dos metadados dos arquivos WAV. Siga as etapas e o exemplo de código mencionado abaixo para extrair as propriedades de metadados do pacote WAV de arquivos WAV em C#.

  • Carregue o arquivo de áudio WAV.
  • Obtenha o WavRootPackage de metadados.
  • Extraia o WavPackage do pacote raiz.
  • Agora você pode acessar todas as propriedades do áudio WAV.
// Extraia metadados de arquivos WAV em 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
}

Aqui está a saída do código acima:

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

Extraia RIFF INFO de arquivos WAV em C

O RIFF INFO dos arquivos WAV também pode ser extraído de maneira diferente da extração das propriedades WavPackage mostradas anteriormente. Usando as etapas a seguir, você pode extrair o RIFF INFO do arquivo de áudio no formato de arquivo WAV em seu aplicativo .NET.

  • Carregue o arquivo de áudio WAV.
  • Obtenha o WavRootPackage de metadados.
  • Extraia o RiffInfoPackage do pacote raiz.
  • Agora acesse as propriedades do áudio WAV.

O exemplo de código a seguir extrai as propriedades de metadados do pacote RIFF INFO do arquivo WAV em C#.

// Extraia RIFF INFO de arquivos WAV em 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
}

Segue a saída do código acima:

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

Conclusão

Resumindo, é muito fácil retirar os metadados e RIFF INFO dos arquivos WAV em C#. Depois de tentar os exemplos acima, pense em desenvolver seu próprio aplicativo .NET extrator de metadados como GroupDocs.Metadata App.

Existem muitos outros exemplos de código aberto disponíveis em GitHub Repository. Faça download do código-fonte e execute os exemplos rapidamente usando o guia de primeiros passos. Em caso de alguma dificuldade, visite a documentação ou contate a equipe de suporte a qualquer momento no fórum.

Veja também