私はJavaプログラミングに比較的慣れていません。ここでは、Android プロジェクトの 1 つを使用せずに、mp3 の新しい ID3 タグを変更/作成するために Jaudiotagger ライブラリを使用しようとしています。ただし、ライブラリを正しく動作させるように設定することはできません。つまり、ID3 タグが既に設定されている mp3 の場合、問題なくメタデータを正常に書き込んで変更できます。しかし、ID3 タグが設定されていない (空白の) mp3 の場合、アルバム カバーのアートワークを設定することしかできず、アーティスト、タイトル、アルバム カバーなどの他のフィールドは以前と同じように空白のままです。
ここに私のコードのスニペットがあります -
import org.jaudiotagger.audio.AudioFile;
import org.jaudiotagger.audio.AudioFileIO;
import org.jaudiotagger.tag.FieldKey;
import org.jaudiotagger.tag.Tag;
import org.jaudiotagger.tag.TagOptionSingleton;
import org.jaudiotagger.tag.id3.ID3v23Tag;
import org.jaudiotagger.tag.images.Artwork;
import org.jaudiotagger.tag.images.ArtworkFactory;
try{
TagOptionSingleton.getInstance().setAndroid(true);
AudioFile f =AudioFileIO.read(file_path_to_mp3);
f.setTag(new ID3v23Tag());
Tag tag=f.getTag();
tag.setField(FieldKey.ARTIST,artist);
tag.setField(FieldKey.ALBUM,album);
Artwork cover=ArtworkFactory.createArtworkFromFile(cover_file);
tag.setField(cover);
f.commit();
}catch (Exception e){
e.printStackTrace();
}
エラーや例外がスローされることなく、プログラムを実行できます。アートワークは正常に設定できますが、タイトル、アーティスト、アルバムなどのマタデータタグは設定されません。助けてくれてありがとう!