我对 Java 编程比较陌生。在这里,我正在尝试使用 Jaudiotagger 库为 mp3 更改/创建新的 ID3 标记,而我的一个 android 项目中没有一个。但是,我真的无法设置为使库正常工作。也就是说,对于已经设置了一些 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();
}
我可以运行程序而不会引发任何错误和异常。只是像标题、艺术家、专辑等这样的元数据标签不会设置,尽管可以成功设置艺术品。谢谢你的帮助!