java id3tag重复的mp3文件
Posted
技术标签:
【中文标题】java id3tag重复的mp3文件【英文标题】:java id3tag duplicate mp3 files 【发布时间】:2017-05-06 22:35:21 【问题描述】:我使用 jid3tag 库来修改 mp3 文件的元数据。 当我保存我的修改时,它会复制 mp3 文件,创建一个 "songtitle.mp3" 和一个 "songtitle.original.mp3" 。 我的问题是:如何修改不重复的 mp3 文件?
这是我的代码:
TagOptionSingleton.getInstance().setDefaultSaveMode(TagConstant.MP3_FILE_SAVE_OVERWRITE);
AbstractID3v2 id3v2= new ID3v2_4();
// setup id3v2
AbstractID3v2Frame frame;
AbstractID3v2FrameBody frameBody;
frameBody = new FrameBodyTIT2((byte) 0, "songTitle");
frame = new ID3v2_4Frame(frameBody);
((AbstractFrameBodyTextInformation) frame.getBody()).setText(metatitle);
id3v2.setFrame(frame);
mp3file.setID3v2Tag(id3v2);
try
mp3file.save();
catch (IOException | TagException e)
// TODO Auto-generated catch block
e.printStackTrace();
谢谢
【问题讨论】:
这是 Mp3File.save() 的默认行为。尝试传递原始文件名保存:Mp3File.save("songtitle.mp3") 谢谢,我试过了,但它仍然复制文件。我也试过 mp3file.save("songtitle.mp3",tagconstant.mp3_file_save_overwrite);还是不行 试试这个mp3file.save(TagConstants.MP3_FILE_SAVE_OVERWRITE)
这个方法:github.com/AngeloDias/ComuniPro/blob/…
是的,我已经尝试过了,但文件仍然重复
【参考方案1】:
谢谢,没找到解决办法。
所以我只是像这样使用 Files 类删除文件:
try
mp3file.save(TagConstant.MP3_FILE_SAVE_OVERWRITE);
String p = destFile.getPath();
String[] s = p.split(".mp3");
Path path = Paths.get(s[0]+".original.mp3");
System.out.println(path);
Files.deleteIfExists(path);
catch (IOException | TagException e)
// TODO Auto-generated catch block
e.printStackTrace();
【讨论】:
以上是关于java id3tag重复的mp3文件的主要内容,如果未能解决你的问题,请参考以下文章