Varian metadata dilampirkan dengan dokumen dengan format file yang berbeda. File MP3 biasanya berisi tag metadata ID3. Artikel ini membahas cara membaca berbagai tag MP3 di Java. Satu per satu, kita akan melihat cara mengekstrak tag metadata ID3 (IDEv1, ID3v2), Lirik, dan APEv2 dari file mp3 menggunakan Java Metadata API.

Topik-topik berikut dibahas di bawah ini:

Java API untuk Tag Metadata MP3

GroupDocs.Metadata dilengkapi dengan API untuk mengotomatiskan pengelolaan metadata dari [berbagai format file](https://docs.groupdocs.com/metadata/net/supported-document -formats/) di dalam aplikasi. Java API-nya memungkinkan Anda membaca, memperbarui, menambah, membersihkan, dan menghapus metadata untuk banyak format file dalam aplikasi Java. Kami akan menggunakannya untuk bekerja dengan tag metadata MP3.

Unduh dan Konfigurasi

Dapatkan library metadata dari bagian download. Untuk aplikasi Java berbasis Maven Anda, cukup tambahkan konfigurasi pom.xml berikut. Setelah itu, Anda dapat mencoba contoh artikel ini serta contoh lainnya yang tersedia di GitHub. Untuk detailnya, Anda dapat mengunjungi Referensi 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>

Baca Tag MP3 ID3 di Java - ID3v1 & ID3v2

Langkah-langkah berikut menunjukkan cara membaca tag MP3 ID3v1 menggunakan Java.

  • Muat file MP3 menggunakan kelas Metadata.
  • Ambil MP3RootPackage menggunakan metode getRootPackageGeneric().
  • Dari paket root, ambil setiap properti ID3v1.

Kode sumber Java berikut membaca beberapa tag MP3 ID3v1 dari file MP3.

// Baca tag ID3V1 file 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());
		// ...
	}
}

Anda dapat mengekstrak tag ID3v2 dengan cara yang sama. Langkah-langkah berikut menunjukkan cara mengambil tag MP3 ID3v2 di Java.

  • Muat file MP3 menggunakan kelas Metadata.
  • Dapatkan paket root.
  • Dari root, Anda dapat dengan mudah mengambil semua tag ID3v2 seperti Artis, Komposer, Penerbit, Judul, dll.
  • Detail untuk lampiran gambar dapat diambil dari properti Bingkai Gambar Terlampir.

Contoh kode sumber Java berikut membaca beberapa tag MP3 ID3v2 dan detail gambar terlampir dari file MP3.

// Baca tag ID3V2 file 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()); 
            }
        }
    }
}

Baca Tag Lirik MP3 di Java

Berikut panduan langkah-langkah cara membaca tag Lirik MP3 di Java.

  • Muat file MP3 menggunakan kelas Metadata.
  • Ambil paket root.
  • Dari root, Anda bisa mendapatkan tag lirik dan propertinya seperti Lirik, artis, lagu, dll.

Cuplikan kode Java berikut mengambil tag lirik MP3 dan beberapa properti dari file MP3.

// Baca tag Lirik file 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());
		// ...

    // Demikian pula, Anda dapat melintasi bidang tag
		for (LyricsField field : root.getLyrics3V2().toList()) {
			System.out.println(String.format("%s = %s", field.getID(), field.getData()));
		}
	}
}

Baca Tag MP3 APEv2 di Java

Langkah-langkah berikut menunjukkan bagaimana kita dapat mengekstrak tag MP3 APEv2 dalam aplikasi Java.

  • Muat file MP3 menggunakan kelas Metadata.
  • Ambil kembali paket root menggunakan metode getRootPackageGeneric().
  • Dari root, Anda dapat mengambil tag APEv2 seperti Album, Genre, Hak Cipta, Bahasa, dll.

Contoh kode Java berikut membaca beberapa properti tag APE MP3 dari file MP3.

// Baca tag APE file 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());
		// ...
	}

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.

Kesimpulan

Singkatnya, kami belajar cara mengekstrak tag metadata dari file MP3 di Java. Satu per satu, kami membaca tag ID3v1, ID3v2, Lirik, dan APE beserta propertinya dari file MP3. Pertimbangkan untuk membuat editor tag & penampil metadata online MP3 Anda sendiri seperti Aplikasi Metadata Online.

Pelajari API lebih lanjut dari dokumentasi dan hubungi kami untuk pertanyaan melalui forum.

Lihat juga