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