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

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

MP3 메타데이터 태그용 Java API

GroupDocs.Metadata다양한 파일 형식의 메타데이터 관리를 자동화하는 API를 갖추고 있습니다. -formats/) 응용 프로그램 내. 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에 대해 자세히 알아보고 포럼을 통해 문의하십시오.

또한보십시오