如何用 java 读/写 ID3v2 标签?
Posted
技术标签:
【中文标题】如何用 java 读/写 ID3v2 标签?【英文标题】:How to read/write ID3v2 tags with java? 【发布时间】:2017-01-04 08:11:46 【问题描述】:我希望能够从 mp3 文件中读取 ID3v2 标签。我找到了多个允许我获取基本标签的框架。但我希望能够在这个list 中获得这些。我不关心与 IDv1 的向后兼容性。
我已经看过Jaudiotagger 和mp3agic。我没有找到如何将它们用于自定义标签。这可能吗?
【问题讨论】:
【参考方案1】:您必须使用字符串标识符“TXXX”,这是“普通”字段和自定义字段之间的主要区别。我认为下面的代码应该是不言自明的:
AudioFile audioFile = AudioFileIO.read(File songFile) // try and catch
MP3File mp3 = (MP3File) audioFile;
AbstractID3v2Tag v2Tag = mp3.getID3v2Tag();
// Since you've mentioned a list
List<TagField> tagList = v2Tag.getFields("TXXX")
这是一种方法。该列表现在包含所有带有 TXXX 标识符的标签。现在您可以简单地对列表中的每个元素调用 toString(),您应该会得到类似的结果:
Description="Play Count"; Text="1.000.000"
【讨论】:
方法getFields
不存在?
哇,你是对的。想知道我当时为什么这样做?也许尝试用ID3v1Tag v1Tag = mp3.getID3v1Tag();
替换AbstractID3v2Tag v2Tag = mp3.getID3v2Tag();
。我将仔细研究它并在下周末编辑我的答案。谢谢指出
刚刚签到。运气好吗?以上是关于如何用 java 读/写 ID3v2 标签?的主要内容,如果未能解决你的问题,请参考以下文章