ตัวแปรข้อมูลเมตาจะแนบมากับเอกสารในรูปแบบไฟล์ต่างๆ ไฟล์ MP3 มักมีแท็กข้อมูลเมตา ID3 บทความนี้กล่าวถึงวิธีการอ่านแท็ก MP3 ต่างๆ ใน Java เราจะดูวิธีการแยกแท็กข้อมูลเมตา ID3 (IDEv1, ID3v2), เนื้อเพลง และ APEv2 จากไฟล์ mp3 โดยใช้ Java Metadata API ทีละรายการ
หัวข้อต่อไปนี้ครอบคลุมด้านล่าง:
- Java API เพื่อจัดการแท็ก MP3
- อ่านแท็ก MP3 ID3 - ID3v1 & ID3v2
- รับแท็กเนื้อเพลง MP3
- รับแท็ก MP3 APEv2
Java API สำหรับแท็กข้อมูลเมตา MP3
GroupDocs.Metadata มี API เพื่อทำให้การจัดการข้อมูลเมตาของ รูปแบบไฟล์ต่างๆ เป็นไปโดยอัตโนมัติ -formats/) ภายในแอปพลิเคชัน เป็น Java API ที่ให้คุณอ่าน อัปเดต เพิ่ม ล้าง และลบข้อมูลเมตาสำหรับไฟล์หลายรูปแบบภายในแอปพลิเคชัน Java เราจะใช้เพื่อทำงานกับแท็กข้อมูลเมตา MP3
ดาวน์โหลดและกำหนดค่า
รับไลบรารีข้อมูลเมตาจากส่วน ดาวน์โหลด สำหรับแอปพลิเคชัน Java ที่ใช้ Maven เพียงเพิ่มการกำหนดค่า pom.xml ต่อไปนี้ หลังจากนี้ คุณสามารถลองใช้ตัวอย่างของบทความนี้รวมถึงตัวอย่างอื่นๆ อีกมากมายที่มีอยู่ใน GitHub สำหรับรายละเอียด คุณสามารถไปที่ข้อมูลอ้างอิง API
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-metadata</artifactId>
<version>22.2</version>
</dependency>
อ่านแท็ก MP3 ID3 ใน Java - ID3v1 & ID3v2
ขั้นตอนต่อไปนี้แสดงวิธีการอ่านแท็ก MP3 ID3v1 โดยใช้ Java
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- เรียกข้อมูล MP3RootPackage โดยใช้วิธี getRootPackageGeneric()
- จากรูทแพ็กเกจ ให้ดึงคุณสมบัติ ID3v1 แต่ละรายการ
ซอร์สโค้ด Java ต่อไปนี้อ่านแท็ก MP3 ID3v1 บางส่วนของไฟล์ MP3
// อ่านแท็ก ID3V1 ไฟล์ MP3
try (Metadata metadata = new Metadata("path/audio-ID3V1.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getID3V1() != null) {
System.out.println(root.getID3V1().getAlbum());
System.out.println(root.getID3V1().getArtist());
System.out.println(root.getID3V1().getTitle());
System.out.println(root.getID3V1().getVersion());
System.out.println(root.getID3V1().getComment());
// ...
}
}
คุณสามารถแยกแท็ก ID3v2 ด้วยวิธีเดียวกัน ขั้นตอนต่อไปนี้แสดงวิธีการเรียกแท็ก MP3 ID3v2 ใน Java
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- รับ รูตแพ็กเกจ
- จากรูท คุณสามารถดึงแท็ก ID3v2 ทั้งหมดได้อย่างง่ายดาย เช่น ศิลปิน นักแต่งเพลง ผู้เผยแพร่ ชื่อเรื่อง ฯลฯ
- สามารถดึงรายละเอียดของรูปภาพที่แนบมาได้จากคุณสมบัติของ Attached Picture Frames
ตัวอย่างซอร์สโค้ด Java ต่อไปนี้อ่านแท็ก MP3 ID3v2 และรายละเอียดรูปภาพที่แนบมาของไฟล์ MP3
// อ่านแท็ก ID3V2 ไฟล์ MP3
try (Metadata metadata = new Metadata("path/audio-ID3V2.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getID3V2() != null) {
System.out.println(root.getID3V2().getAlbum());
System.out.println(root.getID3V2().getArtist());
System.out.println(root.getID3V2().getBand());
System.out.println(root.getID3V2().getTitle());
System.out.println(root.getID3V2().getComposers());
System.out.println(root.getID3V2().getCopyright());
System.out.println(root.getID3V2().getPublisher());
System.out.println(root.getID3V2().getOriginalAlbum());
System.out.println(root.getID3V2().getMusicalKey());
if (root.getID3V2().getAttachedPictures() != null) {
for (ID3V2AttachedPictureFrame attachedPicture : root.getID3V2().getAttachedPictures()) {
System.out.println(attachedPicture.getAttachedPictureType());
System.out.println(attachedPicture.getMimeType());
System.out.println(attachedPicture.getDescription());
}
}
}
}
อ่านแท็กเนื้อเพลง MP3 ใน Java
ขั้นตอนต่อไปนี้แนะนำวิธีอ่านแท็กเนื้อเพลง MP3 ใน Java
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- เรียกข้อมูล รูตแพ็กเกจ
- จากรูท คุณจะได้รับแท็กเนื้อเพลงและคุณสมบัติของแท็ก เช่น เนื้อเพลง ศิลปิน แทร็ก เป็นต้น
ข้อมูลโค้ด Java ต่อไปนี้ดึงแท็กเนื้อเพลง MP3 และคุณสมบัติบางอย่างจากไฟล์ MP3
// อ่านแท็กเนื้อเพลงไฟล์ MP3
try (Metadata metadata = new Metadata("path/audio-Lyrics.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getLyrics3V2() != null) {
System.out.println(root.getLyrics3V2().getLyrics());
System.out.println(root.getLyrics3V2().getAlbum());
System.out.println(root.getLyrics3V2().getArtist());
System.out.println(root.getLyrics3V2().getTrack());
// ...
// ในทำนองเดียวกัน คุณสามารถสำรวจช่องแท็ก
for (LyricsField field : root.getLyrics3V2().toList()) {
System.out.println(String.format("%s = %s", field.getID(), field.getData()));
}
}
}
อ่านแท็ก MP3 APev2 ใน Java
ขั้นตอนต่อไปนี้แสดงวิธีที่เราสามารถแยกแท็ก MP3 APEv2 ภายในแอปพลิเคชัน Java
- โหลดไฟล์ MP3 โดยใช้คลาส Metadata
- ดึงข้อมูล root package โดยใช้วิธี getRootPackageGeneric()
- จากรูท คุณสามารถดึงแท็ก APEv2 เช่น อัลบั้ม ประเภท ลิขสิทธิ์ ภาษา ฯลฯ
ตัวอย่างโค้ด Java ต่อไปนี้อ่านคุณสมบัติบางอย่างของแท็ก MP3 APE ของไฟล์ MP3
// อ่านแท็ก APE ไฟล์ MP3
try (Metadata metadata = new Metadata("path/audio-APE.mp3")) {
MP3RootPackage root = metadata.getRootPackageGeneric();
if (root.getApeV2() != null) {
System.out.println(root.getApeV2().getAlbum());
System.out.println(root.getApeV2().getTitle());
System.out.println(root.getApeV2().getArtist());
System.out.println(root.getApeV2().getComposer());
System.out.println(root.getApeV2().getCopyright());
System.out.println(root.getApeV2().getGenre());
System.out.println(root.getApeV2().getLanguage());
// ...
}
รับใบอนุญาต API ฟรี
คุณสามารถรับใบอนุญาตชั่วคราวฟรี เพื่อใช้ API โดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
โดยสรุป เราได้เรียนรู้วิธีแยกแท็กข้อมูลเมตาจากไฟล์ MP3 ใน Java เราอ่านแท็ก ID3v1, ID3v2, เนื้อเพลง และ APE ทีละแท็ก และคุณสมบัติจากไฟล์ MP3 ลองนึกถึงการสร้างโปรแกรมแก้ไขแท็กออนไลน์ MP3 และโปรแกรมดูข้อมูลเมตาเช่นเดียวกับ แอปข้อมูลเมตาออนไลน์
เรียนรู้เพิ่มเติมเกี่ยวกับ API จากเอกสารประกอบ และติดต่อเราสำหรับคำถามผ่านทางฟอรัม