メタデータバリアントは、さまざまなファイル形式のドキュメントに添付されています。 MP3ファイルには通常ID3メタデータタグが含まれています。この記事では、JavaでさまざまなMP3タグを読み取る方法について説明します。 JavaメタデータAPIを使用して、mp3ファイルからID3(IDEv1、ID3v2) 、歌詞、およびAPEv2メタデータタグを抽出する方法を1つずつ見ていきます。
以下のトピックについて説明します。
MP3メタデータタグ用のJavaAPI
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でMP3ID3タグを読む-ID3v1&ID3v2
次の手順は、Javaを使用してMP3ID3v1タグを読み取る方法を示しています。
- Metadata クラスを使用してMP3ファイルをロードします。
- getRootPackageGeneric() メソッドを使用して、MP3RootPackage を取得します。
- ルートパッケージから、ID3v1の各プロパティを取得します。
次のJavaソースコードは、MP3ファイルのMP3ID3v1タグの一部を読み取ります。
// 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でMP3ID3v2タグを取得する方法を示しています。
- Metadata クラスを使用してMP3ファイルをロードします。
- ルートパッケージ を取得します。
- ルートから、Artist、Composers、Publisher、TitleなどのすべてのID3v2タグを簡単に取得できます。
- 添付画像の詳細は、添付画像フレーム のプロパティから取得できます。
次のJavaソースコードの例では、MP3ID3v2タグの一部と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歌詞タグを読み取る方法を示しています。
次の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でMP3APEv2タグを読む
次の手順は、Javaアプリケーション内でMP3APEv2タグを抽出する方法を示しています。
- Metadata クラスを使用してMP3ファイルをロードします。
- getRootPackageGeneric() メソッドを使用して ルートパッケージ を取得します。
- ルートから、アルバム、ジャンル、著作権、言語などのAPEv2タグを取得できます。
次のJavaコード例は、MP3ファイルのMP3APEタグのプロパティの一部を読み取ります。
// 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ファイルからメタデータタグを抽出する方法を学びました。 ID3v1、ID3v2、Lyrics、APEタグとそれらのプロパティをMP3ファイルから1つずつ読み取ります。 Online Metadata App のように、独自のMP3オンラインタグエディターとメタデータビューアーを構築することを検討してください。
ドキュメント からAPIの詳細を確認し、フォーラム を介してクエリについてお問い合わせください。