Warianty metadanych są dołączane do dokumentów o różnych formatach plików. Pliki MP3 zwykle zawierają znaczniki metadanych ID3. W tym artykule omówiono, jak czytać różne znaczniki MP3 w Javie. Jeden po drugim zobaczymy, jak wyodrębnić tagi metadanych ID3 (IDEv1, ID3v2), Lyrics i APEv2 z plików mp3 za pomocą Java Metadata API.

Poniżej omówiono następujące tematy:

Java API dla znaczników metadanych MP3

GroupDocs.Metadata jest wyposażony w interfejsy API do automatyzacji zarządzania metadanymi [różnych formatów plików](https://docs.groupdocs.com/metadata/net/supported-document -formaty/) w aplikacjach. To Java API umożliwia odczytywanie, aktualizowanie, dodawanie, czyszczenie i usuwanie metadanych dla wielu formatów plików w aplikacji Java. Użyjemy go do pracy z tagami metadanych MP3.

Pobierz i skonfiguruj

Pobierz bibliotekę metadanych z sekcji pliki do pobrania. W przypadku aplikacji Java opartej na Maven wystarczy dodać następującą konfigurację pom.xml. Następnie możesz wypróbować przykłady z tego artykułu, a także wiele innych przykładów dostępnych na GitHub. Aby uzyskać szczegółowe informacje, odwiedź Odniesienie do interfejsu 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>

Czytaj tagi MP3 ID3 w Javie - ID3v1 i ID3v2

Poniższe kroki pokazują, jak czytać znaczniki MP3 ID3v1 za pomocą języka Java.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz MP3RootPackage za pomocą metody getRootPackageGeneric().
  • Z pakietu głównego Pobierz każdą z właściwości ID3v1.

Poniższy kod źródłowy Java odczytuje niektóre znaczniki MP3 ID3v1 pliku MP3.

// Czytaj tagi ID3V1 pliku 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());
		// ...
	}
}

Możesz wyodrębnić tagi ID3v2 w podobny sposób. Poniższe kroki pokazują, jak pobrać tagi MP3 ID3v2 w Javie.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz pakiet główny.
  • Z katalogu głównego możesz łatwo pobrać wszystkie tagi ID3v2, takie jak Artysta, Kompozytorzy, Wydawca, Tytuł itp.
  • Szczegóły dołączonych zdjęć można pobrać z właściwości Attached Picture Frames.

Poniższy przykład kodu źródłowego Java odczytuje niektóre znaczniki MP3 ID3v2 i załączone zdjęcia, szczegóły pliku MP3.

// Czytaj tagi ID3V2 pliku 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()); 
            }
        }
    }
}

Czytaj tagi tekstów MP3 w Javie

Poniższe kroki wskazują, jak czytać tagi MP3 Lyrics w Javie.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz pakiet główny.
  • Z poziomu katalogu głównego możesz uzyskać tagi tekstu i jego właściwości, takie jak tekst, wykonawca, utwór itp.

Poniższy fragment kodu Java pobiera znaczniki tekstu MP3 i niektóre właściwości z pliku MP3.

// Czytaj tagi tekstu pliku 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());
		// ...

    // Podobnie możesz przechodzić przez pola znaczników
		for (LyricsField field : root.getLyrics3V2().toList()) {
			System.out.println(String.format("%s = %s", field.getID(), field.getData()));
		}
	}
}

Czytaj tagi MP3 APEv2 w Javie

Poniższe kroki pokazują, jak możemy wyodrębnić tagi MP3 APEv2 w aplikacji Java.

  • Załaduj plik MP3 przy użyciu klasy Metadata.
  • Pobierz pakiet główny przy użyciu metody getRootPackageGeneric().
  • Z katalogu głównego możesz pobrać tagi APEv2, takie jak album, gatunek, prawa autorskie, język itp.

Poniższe przykłady kodu Java odczytują niektóre właściwości znaczników MP3 APE pliku MP3.

// Czytaj tagi APE plików 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());
		// ...
	}

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję, aby korzystać z interfejsu API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyliśmy się wyodrębniać znaczniki metadanych z plików MP3 w Javie. Jeden po drugim odczytujemy tagi ID3v1, ID3v2, Lyrics i APE oraz ich właściwości z plików MP3. Pomyśl o zbudowaniu własnego internetowego edytora tagów MP3 i przeglądarki metadanych, tak jak aplikacja metadanych online.

Dowiedz się więcej o interfejsie API z dokumentacji i skontaktuj się z nami w sprawie zapytań za pośrednictwem forum.

Zobacz też