如何使用 java read/write ID3v2 标签?
How to read/write ID3v2 tags with java?
我希望能够从 mp3 文件中读取 ID3v2 标签。我发现了多个允许我获取基本标签的框架。但是我希望能够在这个 list 中。我不关心与 IDv1 的向后兼容性。
我已经看过 Jaudiotagger and mp3agic。我没有找到如何将它们用于自定义标签。这可能吗?
您必须使用字符串标识符 "TXXX",这是 "normal" 和自定义字段之间的主要区别。我认为下面的代码应该是 self-explanatory:
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"
我希望能够从 mp3 文件中读取 ID3v2 标签。我发现了多个允许我获取基本标签的框架。但是我希望能够在这个 list 中。我不关心与 IDv1 的向后兼容性。
我已经看过 Jaudiotagger and mp3agic。我没有找到如何将它们用于自定义标签。这可能吗?
您必须使用字符串标识符 "TXXX",这是 "normal" 和自定义字段之间的主要区别。我认为下面的代码应该是 self-explanatory:
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"