RIFF (Resource Interchange File Format) เป็นรูปแบบคอนเทนเนอร์ไฟล์สำหรับจัดเก็บข้อมูลเป็นกลุ่มแท็ก ส่วนใหญ่จะใช้เพื่อจัดเก็บมัลติมีเดียเช่นวิดีโอและเสียง ก้อนนี้อาจมีข้อมูลเช่น ศิลปิน วันที่สร้าง และข้อมูลลิขสิทธิ์ เป็นต้น บทความนี้จะแนะนำนักพัฒนาในการแยกข้อมูลเมตาและข้อมูล RIFF จากไฟล์เสียง WAV ใน C#

หัวข้อต่อไปนี้จะกล่าวถึงในบทความโดยสังเขป:

.NET API สำหรับการจัดการข้อมูลเมตา

ในบทความนี้ ฉันจะใช้ GroupDocs.Metadata for .NET API ในตัวอย่าง C# เพื่อแยกข้อมูลเมตาจากไฟล์ WAV นอกเหนือจากไฟล์เสียง WAV แล้ว API ยังรองรับการเพิ่ม ลบ อัปเดต และแยกข้อมูลเมตาจากไฟล์ MP3 และวิดีโอ นอกจากนี้ยังสนับสนุนรูปแบบไฟล์ Microsoft Office และ Open Office, eBooks, รูปภาพ และรูปแบบเอกสารอื่นๆ อีกมากมาย

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ 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 ของไฟล์เสียงในรูปแบบไฟล์ 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 Repository ดาวน์โหลดซอร์สโค้ดและเรียกใช้ตัวอย่างอย่างรวดเร็วโดยใช้คำแนะนำ เริ่มต้นใช้งาน ในกรณีที่มีปัญหา โปรดไปที่ เอกสารประกอบ หรือติดต่อทีมสนับสนุนได้ตลอดเวลาที่ ฟอรัม

ดูสิ่งนี้ด้วย