gpt4 book ai didi

安卓 : JAudioTagger doesn't change the tags

转载 作者:行者123 更新时间:2023-11-30 01:24:50 24 4
gpt4 key购买 nike

所以我正在尝试在我的应用程序中编辑音乐文件的标签。这是代码

TagOptionSingleton.getInstance().setAndroid(true);
AudioFile f = AudioFileIO.read(sel);
Tag tag = f.getTag();
tag.setField(FieldKey.TITLE, "ABC");
f.commit();

我尝试使用 AudioFileIO.write(f) 而不是 f.commit() 但我所做的更改并未反射(reflect)在文件中。他们仍然拥有相同的旧数据。

我尝试了多个版本的 JAudioTagger,但没有成功。有人可以帮帮我吗。提前致谢!!

最佳答案

我知道有点晚了,但以下对我有用(我对其他标签使用相同的框架

     public String getmp3TrackTitleTag(File SourceFile)
throws Exception {
String TrackTitle = null;
try {
MP3File musicFile = (MP3File) AudioFileIO.read(SourceFile);
if (musicFile != null && musicFile.hasID3v2Tag()) {
ID3v24Tag id3v24 = (ID3v24Tag) musicFile.getID3v2TagAsv24();
TrackTitle = id3v24.getFirst(ID3v24Frames.FRAME_ID_TITLE);
}
} catch (CannotReadException | IOException | TagException
| ReadOnlyFileException | InvalidAudioFrameException e5) {
throw e5;
}
return TrackTitle;
}

并设置标题

      public String setmp3TrackTitleTag(File SourceFile, String strTrackTitle)
throws Exception {
String error = null;
AbstractID3v2Tag v2tag = null;

try {
MP3File musicFile = (MP3File) AudioFileIO.read(SourceFile);
if (musicFile != null && musicFile.hasID3v2Tag()) {
v2tag = musicFile.getID3v2Tag();
try {
v2tag.setField(FieldKey.TITLE, strTrackTitle);
musicFile.setTag(v2tag);
musicFile.commit();
} catch (KeyNotFoundException e) {
e.printStackTrace();
error = e.getMessage();
} catch (FieldDataInvalidException e) {
e.printStackTrace();
error = e.getMessage();
} catch (CannotWriteException e) {
e.printStackTrace();
error = e.getMessage();
}
}
} catch (CannotReadException | IOException | TagException
| ReadOnlyFileException | InvalidAudioFrameException e5) {

throw e5;
}
return error;
}

关于安卓 : JAudioTagger doesn't change the tags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36532253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com