我正在尝试在我的Android应用中编辑音频文件的元数据。谷歌搜索了一段时间后,我发现MyID3 library是要走的路。
这是我的代码。
public class TagEditor {
public static void changeTag(String pathdata) {
File src = new File(pathdata);
MusicMetadataSet src_set = null;
try {
src_set = new MyID3().read(src);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // read metadata
if (src_set == null) // perhaps no metadata
{
Log.i("NULL", "NULL");
} else {
try {
IMusicMetadata metadata = src_set.getSimplified();
String artist = metadata.getArtist();
String album = metadata.getAlbum();
String song_title = metadata.getSongTitle();
Number track_number = metadata.getTrackNumber();
Log.i("artist", artist);
Log.i("album", album);
} catch (Exception e) {
e.printStackTrace();
}
File dst = new File(pathdata);
MusicMetadata meta = new MusicMetadata("name");
meta.setSongTitle("Varun");
// meta.setArtist("CS");
try {
new MyID3().update(src, src_set, meta);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ID3WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // write updated metadata
}
}
}
问题是通过此代码更改代码不会对我的音乐文件中的代码产生任何影响。而是文件被破坏并变得无法播放。
我遇到了this回答,在评论中有些人提出了类似的问题,但没有解决问题。似乎它适用于其他人。有人可以帮助我!!