ตัวแปรข้อมูลเมตาจะแนบมากับเอกสารในรูปแบบไฟล์ต่างๆ ไฟล์ MP3 มักมีแท็กข้อมูลเมตา ID3 บทความนี้กล่าวถึงวิธีการอ่านแท็ก MP3 ต่างๆ ใน Java เราจะดูวิธีการแยกแท็กข้อมูลเมตา ID3 (IDEv1, ID3v2), เนื้อเพลง และ APEv2 จากไฟล์ mp3 โดยใช้ Java Metadata API ทีละรายการ

หัวข้อต่อไปนี้ครอบคลุมด้านล่าง:

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 จากเอกสารประกอบ และติดต่อเราสำหรับคำถามผ่านทางฟอรัม

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