RIFF (فرمت فایل تبادل منابع) یک فرمت محفظه فایل برای ذخیره داده ها به عنوان تکه های برچسب گذاری شده است. این عمدتا برای ذخیره سازی چند رسانه ای مانند ویدئو و صدا استفاده می شود. این قطعه ممکن است شامل اطلاعاتی مانند هنرمند، تاریخ ایجاد، و اطلاعات حق چاپ و غیره باشد. این مقاله توسعه دهندگان را راهنمایی می کند تا متادیتا و اطلاعات RIFF را از فایل های صوتی WAV در C# استخراج کنند.

موضوعات زیر به طور خلاصه در مقاله پوشش داده خواهد شد:

NET API برای مدیریت فراداده

در این مقاله، من از GroupDocs.Matadata for .NET API در مثال‌های C# برای استخراج ابرداده از فایل‌های WAV استفاده خواهم کرد. علاوه بر فایل‌های WAV صوتی، API از افزودن، حذف، به‌روزرسانی و استخراج ابرداده از فایل‌ها و ویدیوهای MP3 پشتیبانی می‌کند. علاوه بر این، از فرمت های فایل Microsoft Office و Open Office، کتاب های الکترونیکی، تصاویر و بسیاری از فرمت های سند دیگر پشتیبانی می کند.

می توانید نصب کننده DLL یا MSI را از بخش دانلودها دانلود کنید یا از طریق NuGet API را در برنامه .NET خود نصب کنید.

PM> Install-Package GroupDocs.Metadata

استخراج فراداده فایل های WAV در C#

بیایید با استخراج ابرداده از فایل های WAV شروع کنیم. مراحل و مثال کد زیر را برای استخراج ویژگی های فراداده بسته WAV فایل های WAV در C# دنبال کنید.

  • فایل صوتی WAV را بارگیری کنید.
  • WavRootPackage ابرداده را دریافت کنید.
  • WavPackage را از بسته اصلی استخراج کنید.
  • اکنون می توانید به تمام ویژگی های صدای WAV دسترسی داشته باشید.
// استخراج فراداده فایل های WAV در سی شارپ
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 فایل های WAV در C#

RIFF INFO فایل‌های WAV را نیز می‌توان به روشی متفاوت از استخراج ویژگی‌های WavPackage که قبلا نشان داده شد استخراج کرد. با استفاده از مراحل زیر می توانید RIFF INFO فایل صوتی با فرمت فایل WAV را در برنامه .NET خود استخراج کنید.

  • فایل صوتی WAV را بارگیری کنید.
  • WavRootPackage ابرداده را دریافت کنید.
  • RiffInfoPackage را از بسته ریشه استخراج کنید.
  • اکنون به ویژگی های صدای WAV دسترسی پیدا کنید.

مثال کد زیر ویژگی‌های فراداده بسته RIFF INFO فایل WAV در C# را استخراج می‌کند.

// استخراج اطلاعات RIFF فایل های WAV در سی شارپ
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 موجود است. کد منبع را دانلود کنید و با استفاده از راهنمای 14 به سرعت نمونه ها را اجرا کنید. در صورت بروز هرگونه مشکل، از اسناد بازدید کنید یا هر زمان که بخواهید در [فروم16 با تیم پشتیبانی تماس بگیرید.

همچنین ببینید