Java の jaudiotagger を使って、MP3 の ID3タグ(曲名、アーティスト名、アルバム名など)を編集する方法を書いていきます。
バージョン
動作確認で使用した製品のバージョンは以下の通りです。
- Java 17
- jaudiotagger 3.0.1
1. ライブラリの追加
Maven のビルドファイルに、以下の依存関係を追加します。
<dependency> <groupId>net.jthink</groupId> <artifactId>jaudiotagger</artifactId> <version>3.0.1</version> </dependency>
Gradle の場合は以下の通りです。
implementation 'net.jthink:jaudiotagger:3.0.1'
2. プログラムの作成
ID3タグを編集するプログラムの例は以下の通りです。
package org.example; import java.io.File; import org.jaudiotagger.audio.AudioFile; import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.tag.FieldKey; import org.jaudiotagger.tag.id3.ID3v23Tag; public class Main { public static void main(String[] args) throws Exception { // ID3タグの作成 ID3v23Tag tag = new ID3v23Tag(); tag.setField(FieldKey.TITLE, "タイトル(曲名)"); tag.setField(FieldKey.ARTIST, "アーティスト名"); tag.setField(FieldKey.ALBUM, "アルバム名"); tag.setField(FieldKey.TRACK, "トラック番号"); // MP3にID3タグを設定 AudioFile f = AudioFileIO.read( new File("MP3ファイルのパス") ); f.setTag(tag); f.commit(); } }
ID3v23Tag クラスを使って、タグの値を設定しています。ID3タグのバージョンは「ID3v2.3」になります。
3. 動作確認用のビルドファイル
動作確認で使用したビルドファイルは以下の通りです。
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>edit-mp3-tag</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties> <dependencies> <dependency> <groupId>net.jthink</groupId> <artifactId>jaudiotagger</artifactId> <version>3.0.1</version> </dependency> </dependencies> </project>