Android:编辑音频文件的ID3标记会损坏文件
我正在尝试在我的android应用程序中编辑音频文件的元数据。在谷歌搜索了一段时间后,我发现这是一条可行之路 这是我的密码Android:编辑音频文件的ID3标记会损坏文件,android,Android,我正在尝试在我的android应用程序中编辑音频文件的元数据。在谷歌搜索了一段时间后,我发现这是一条可行之路 这是我的密码 public class TagEditor { public static void changeTag(String pathdata) { File src = new File(pathdata); MusicMetadataSet src_set = null; try { src
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
}
}
}
问题是,通过此代码更改标记对我的音乐文件中的标记没有任何影响。相反,该文件会被损坏并变得无法播放
我找到了答案,在评论中,一些人提出了类似的问题,但没有提出解决问题的方案。似乎它对其他人有效。有人能帮帮我吗 没有回答这个问题,但是你可以用Jaudiotager来代替@DanGravell谢谢你的建议,我会尝试一下。不回答问题,但你可以用Jaudiotager来代替@丹格拉威尔:谢谢你的建议,我会试试看。