มีมาตรฐานข้อมูลเมตาที่แตกต่างกันที่ใช้กับไฟล์ MP3 สามารถจัดเก็บข้อมูลได้หลากหลายประเภทโดยใช้มาตรฐานที่แตกต่างกัน ในบทความนี้ เราจะพูดถึงวิธีการอ่านแท็ก MP3 ต่างๆ โดยใช้ C# โดยเฉพาะอย่างยิ่ง เราจะเรียนรู้วิธีแยกแท็กข้อมูลเมตา ID3v1, ID3v2, เนื้อเพลง และ APEv2 จากไฟล์ mp3 ภายในแอปพลิเคชัน .NET
หัวข้อต่อไปนี้ครอบคลุมด้านล่าง:
- .NET API เพื่อจัดการแท็ก MP3
- อ่านแท็ก MP3 ID3 - ID3v1 & ID3v2
- รับแท็กเนื้อเพลง MP3
- รับแท็ก MP3 APEv2
.NET API สำหรับตัวแก้ไขแท็ก MP3
GroupDocs.Metadata มี .NET API เพื่อทำให้การจัดการข้อมูลเมตาของ [ไฟล์รูปแบบต่างๆ] เป็นไปโดยอัตโนมัติ (https://docs.groupdocs.com/metadata/net/supported-document -formats/) ภายในแอปพลิเคชัน .NET API อนุญาตให้อ่าน อัปเดต เพิ่ม ล้าง และลบข้อมูลเมตาสำหรับไฟล์หลายรูปแบบ เราจะใช้ API นี้เพื่อจัดการกับแท็กข้อมูลเมตาของไฟล์ MP3
คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API ในแอปพลิเคชัน .NET ของคุณผ่านทาง NuGet
PM> Install-Package GroupDocs.Metadata
อ่านแท็ก MP3 ID3 โดยใช้ C# - ID3v1 & ID3v2
ขั้นตอนต่อไปนี้แสดงวิธีการอ่านแท็ก MP3 ID3v1 โดยใช้ C#
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- รับ รูตแพ็กเกจ โดยใช้วิธี GetRootPackage()
- จากรูท คุณสามารถดึงข้อมูล ID3v1 แต่ละรายการได้
ซอร์สโค้ด C# ต่อไปนี้อ่านแท็ก MP3 ID3v1 บางส่วนของไฟล์ MP3
// อ่านแท็ก ID3V1 ไฟล์ MP3
using (Metadata metadata = new Metadata(Constants.MP3WithID3V1))
{
var root = metadata.GetRootPackage<MP3RootPackage>();
if (root.ID3V1 != null)
{
Console.WriteLine(root.ID3V1.Album);
Console.WriteLine(root.ID3V1.Artist);
Console.WriteLine(root.ID3V1.Title);
Console.WriteLine(root.ID3V1.Version);
Console.WriteLine(root.ID3V1.Comment);
}
}
ในทำนองเดียวกัน คุณสามารถแยกแท็ก ID3v2 ขั้นตอนต่อไปนี้แสดงวิธีเรียกแท็ก MP3 ID3v2 โดยใช้ C#
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- รับ รูตแพ็กเกจ
- จากรูท คุณสามารถดึงแท็ก ID3v2 ทั้งหมด เช่น วงดนตรี ศิลปิน นักแต่งเพลง ฯลฯ
- สำหรับรูปภาพที่แนบมาและรายละเอียด ให้ใช้คุณสมบัติ AttachedPictures
ตัวอย่างซอร์สโค้ด C# ต่อไปนี้อ่านแท็ก MP3 ID3v2 และรายละเอียดรูปภาพที่แนบมาของไฟล์ MP3
// อ่านแท็ก ID3V2 ไฟล์ MP3
using (Metadata metadata = new Metadata(Constants.MP3WithID3V2))
{
var root = metadata.GetRootPackage<MP3RootPackage>();
if (root.ID3V2 != null)
{
Console.WriteLine(root.ID3V2.Album);
Console.WriteLine(root.ID3V2.Artist);
Console.WriteLine(root.ID3V2.Band);
Console.WriteLine(root.ID3V2.Title);
Console.WriteLine(root.ID3V2.Composers);
Console.WriteLine(root.ID3V2.Copyright);
Console.WriteLine(root.ID3V2.Publisher);
Console.WriteLine(root.ID3V2.OriginalAlbum);
Console.WriteLine(root.ID3V2.MusicalKey);
if (root.ID3V2.AttachedPictures != null)
{
foreach (var attachedPicture in root.ID3V2.AttachedPictures)
{
Console.WriteLine(attachedPicture.AttachedPictureType);
Console.WriteLine(attachedPicture.MimeType);
Console.WriteLine(attachedPicture.Description);
}
}
}
}
อ่านแท็กเนื้อเพลง MP3 ใน C#
คำแนะนำขั้นตอนต่อไปนี้เพื่ออ่านแท็กเนื้อเพลง MP3 โดยใช้ C#
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- เรียกข้อมูล รูตแพ็กเกจ
- จากราก คุณสามารถรับแท็กเนื้อเพลงและคุณสมบัติของมัน เช่น เนื้อเพลง ศิลปิน ฯลฯ
ข้อมูลโค้ด C# ต่อไปนี้ดึงแท็กเนื้อเพลง MP3 และคุณสมบัติบางอย่างจากไฟล์ MP3
// อ่านแท็กเนื้อเพลงไฟล์ MP3
using (Metadata metadata = new Metadata(Constants.MP3WithLyrics))
{
var root = metadata.GetRootPackage<MP3RootPackage>();
if (root.Lyrics3V2 != null)
{
Console.WriteLine(root.Lyrics3V2.Lyrics);
Console.WriteLine(root.Lyrics3V2.Album);
Console.WriteLine(root.Lyrics3V2.Artist);
Console.WriteLine(root.Lyrics3V2.Track);
// หรือคุณสามารถวนซ้ำรายการฟิลด์แท็กทั้งหมดได้
foreach (var field in root.Lyrics3V2.ToList())
{
Console.WriteLine("{0} = {1}", field.ID, field.Data);
}
}
}
อ่านแท็ก MP3 APev2 ใน C#
ขั้นตอนต่อไปนี้แสดงวิธีที่เราสามารถแยกแท็ก MP3 APEv2 โดยใช้ C#
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- ดึงรูทแพ็กเกจโดยใช้เมธอด GetRootPackage()
- จากรูท คุณสามารถดึงแท็ก APEv2 ทั้งหมด เช่น อัลบั้ม ประเภท ลิขสิทธิ์ ภาษา ฯลฯ
ตัวอย่างโค้ด C# ต่อไปนี้อ่านคุณสมบัติบางอย่างของแท็ก MP3 APE ของไฟล์ MP3
// อ่านแท็ก APE ไฟล์ MP3
using (Metadata metadata = new Metadata(Constants.MP3WithApe))
{
var root = metadata.GetRootPackage<MP3RootPackage>();
if (root.ApeV2 != null)
{
Console.WriteLine(root.ApeV2.Album);
Console.WriteLine(root.ApeV2.Title);
Console.WriteLine(root.ApeV2.Artist);
Console.WriteLine(root.ApeV2.Composer);
Console.WriteLine(root.ApeV2.Copyright);
Console.WriteLine(root.ApeV2.Genre);
Console.WriteLine(root.ApeV2.Language);
}
}
รับใบอนุญาต API ฟรี
คุณสามารถรับใบอนุญาตชั่วคราวฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
โดยสรุป เราเรียนรู้ที่จะแยกแท็กข้อมูลเมตาจากไฟล์ MP3 โดยใช้ C# เราอ่านแท็ก ID3v1, ID3v2, เนื้อเพลง และ APE และคุณสมบัติจากไฟล์ MP3 คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ API ได้จากเอกสารประกอบ และติดต่อเราสำหรับคำถามผ่านทางฟอรัม .