RIFF (Resource Interchange File Format) je formát kontejneru souborů pro ukládání dat jako označené bloky. Používá se hlavně k ukládání multimédií, jako je video a zvuk. Tento kus může obsahovat informace, jako je interpret, datum vytvoření a informace o autorských právech atd. Tento článek bude vést vývojáře k extrahování metadat a RIFF INFO ze zvukových souborů WAV v C#.

Následující témata budou ve stručnosti popsána v článku:

.NET API pro správu metadat

V tomto článku budu používat GroupDocs.Metadata for .NET API v příkladech C# pro extrahování metadat ze souborů WAV. Kromě zvukových souborů WAV rozhraní API podporuje přidávání, odebírání, aktualizaci a extrahování metadat ze souborů MP3 a videí. Kromě toho podporuje formáty souborů Microsoft Office a Open Office, elektronické knihy, obrázky a mnoho dalších formátů dokumentů.

Můžete si stáhnout DLL nebo instalační program MSI z části ke stažení nebo nainstalovat API do vaší aplikace .NET prostřednictvím NuGet.

PM> Install-Package GroupDocs.Metadata

Extrahujte metadata souborů WAV v C#

Začněme extrakcí metadat ze souborů WAV. Postupujte podle kroků a níže uvedeného příkladu kódu pro extrahování vlastností metadat balíčku WAV souborů WAV v C#.

  • Načtěte zvukový soubor WAV.
  • Získejte WavRootPackage metadat.
  • Extrahujte WavPackage z kořenového balíčku.
  • Nyní máte přístup ke všem vlastnostem zvuku WAV.
// Extrahujte metadata souborů WAV v 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
}

Zde je výstup výše uvedeného kódu:

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

Extrahujte RIFF INFO souborů WAV v C#

RIFF INFO souborů WAV lze také extrahovat jiným způsobem než extrakce vlastností WavPackage ukázaných výše. Pomocí následujících kroků můžete extrahovat RIFF INFO zvukového souboru ve formátu WAV ve vaší aplikaci .NET.

  • Načtěte zvukový soubor WAV.
  • Získejte WavRootPackage metadat.
  • Extrahujte RiffInfoPackage z kořenového balíčku.
  • Nyní přejděte k vlastnostem zvuku WAV.

Následující příklad kódu extrahuje vlastnosti metadat balíčku RIFF INFO souboru WAV v C#.

// Extrahujte RIFF INFO souborů WAV v 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
}

Následuje výstup výše uvedeného kódu:

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

Závěr

Stručně řečeno, je velmi snadné vyjmout metadata a RIFF INFO ze souborů WAV v C#. Po vyzkoušení výše uvedených příkladů se zamyslete nad vývojem vlastní aplikace .NET pro extrakci metadat, jako je GroupDocs.Metadata App.

V GitHub Repository je k dispozici mnohem více příkladů s otevřeným zdrojovým kódem. Stáhněte si zdrojový kód a rychle spusťte příklady pomocí průvodce začínáme. V případě jakýchkoli potíží navštivte dokumentace nebo se kdykoli obraťte na tým podpory na fóru.

Viz také