메타데이터 변형은 다양한 파일 형식의 문서와 함께 첨부됩니다. MP3 파일에는 일반적으로 ID3 메타데이터 태그가 포함됩니다. 이 기사에서는 Java에서 다양한 MP3 태그를 읽는 방법에 대해 설명합니다. Java Metadata API를 사용하여 mp3 파일에서 ID3(IDEv1, ID3v2), 가사 및 APEv2 메타데이터 태그를 하나씩 추출하는 방법을 살펴보겠습니다.

다음 주제는 아래에서 다룹니다.

MP3 메타데이터 태그용 Java API

GroupDocs.Metadata다양한 파일 형식의 메타데이터 관리를 자동화하는 API를 갖추고 있습니다. 응용 프로그램 내. Java API를 사용하면 Java 애플리케이션 내에서 다양한 파일 형식에 대한 메타데이터를 읽고, 업데이트하고, 추가하고, 정리하고, 제거할 수 있습니다. MP3 메타데이터 태그 작업에 사용할 것입니다.

다운로드 및 구성

다운로드 섹션에서 메타데이터 라이브러리를 가져옵니다. Maven 기반 Java 애플리케이션의 경우 다음 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>

Java에서 MP3 ID3 태그 읽기 - ID3v1 및 ID3v2

다음 단계는 Java를 사용하여 MP3 ID3v1 태그를 읽는 방법을 보여줍니다.

  • Metadata 클래스를 사용하여 MP3 파일을 로드합니다.
  • getRootPackageGeneric() 메서드를 사용하여 MP3RootPackage를 검색합니다.
  • 루트 패키지에서 각 ID3v1 속성을 검색합니다.

다음 Java 소스 코드는 MP3 파일의 MP3 ID3v1 태그 중 일부를 읽습니다.

// MP3 파일 ID3V1 태그 읽기
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 태그를 추출할 수 있습니다. 다음 단계는 Java에서 MP3 ID3v2 태그를 검색하는 방법을 보여줍니다.

  • Metadata 클래스를 사용하여 MP3 파일을 로드합니다.
  • 루트 패키지를 가져옵니다.
  • 루트에서 Artist, Composers, Publisher, Title 등과 같은 모든 ID3v2 태그를 쉽게 검색할 수 있습니다.
  • 첨부된 사진에 대한 자세한 내용은 첨부된 액자의 속성에서 검색할 수 있습니다.

다음 Java 소스 코드 예제는 MP3 ID3v2 태그 중 일부와 MP3 파일의 첨부 사진 세부 정보를 읽습니다.

// MP3 파일 ID3V2 태그 읽기
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()); 
            }
        }
    }
}

Java에서 MP3 가사 태그 읽기

다음 단계는 Java에서 MP3 가사 태그를 읽는 방법을 안내합니다.

  • Metadata 클래스를 사용하여 MP3 파일을 로드합니다.
  • 루트 패키지를 검색합니다.
  • 루트에서 가사 태그와 가사, 아티스트, 트랙 등과 같은 속성을 가져올 수 있습니다.

다음 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()));
		}
	}
}

Java에서 MP3 APEv2 태그 읽기

다음 단계는 Java 애플리케이션 내에서 MP3 APEv2 태그를 추출하는 방법을 보여줍니다.

  • Metadata 클래스를 사용하여 MP3 파일을 로드합니다.
  • getRootPackageGeneric() 메서드를 사용하여 **루트 패키지**를 검색합니다.
  • 루트에서 앨범, 장르, 저작권, 언어 등과 같은 APEv2 태그를 검색할 수 있습니다.

다음 Java 코드 예제는 MP3 파일의 MP3 APE 태그 속성 중 일부를 읽습니다.

// MP3 파일 APE 태그 읽기
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를 사용할 수 있습니다.

결론

요약하자면 Java의 MP3 파일에서 메타데이터 태그를 추출하는 방법을 배웠습니다. MP3 파일에서 ID3v1, ID3v2, Lyrics 및 APE 태그와 해당 속성을 하나씩 읽습니다. Online Metadata App처럼 나만의 MP3 온라인 태그 편집기 및 메타데이터 뷰어를 구축하는 방법을 생각해 보세요.

문서에서 API에 대해 자세히 알아보고 포럼을 통해 문의하십시오.

또한보십시오