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
- Extrahujte metadata souborů WAV v C#
- Extrahujte RIFF INFO souborů WAV v C#
.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.