我已经使用jaudiotagger成功读取/写入了带有jaudiotagger的MIDI标签ARTIST,TITLE,COMPOSER。我还想读/写原始mp3标签,如PUBLISHER,ENCODED BY,AUTHOR URL,COPYRIGHT AND SUBTITLE。
这是我的java代码
AudioFile f = (MP3File) AudioFileIO.read(new File(filePath));
audioTag = f.getTag();
audioTag.setField(FieldKey.TITLE, "JAudioTagger");
f.commit();
audioTag.getFirst(FieldKey.TITLE);
有谁知道如何实现这些标签?
答案 0 :(得分:1)
您列出的字段名称实际上并不是Mp3字段,但是使用FieldKey类我们将常用的字段名称映射到正确的mp3帧,因此您可以按如下方式访问其中的三个
audioTag.setField(FieldKey.LABEL, "Publisher");
audioTag.setField(FieldKey.URL_OFFICIAL_ARTIST_SITE, "AuthorUrl");
audioTag.setField(FieldKey.SUBTITLE, "Subtitle");
要撰写版权,您目前必须使用mp3专用界面来编写版权(TCOP框架)
e.g
Mp3File f = (Mp3File) AudioFileIO.read(new File(filePath));
Tag audioTag = f.getTag();
ID3v23Frame frame = new ID3v23Frame("TCOP");
frame.setBody(new FrameBodyTCOP(TextEncoding.ISO_8859_1,"copyright"));
tag.addFrame(frame);
f.commit();
并且我们使用相同的方法写入TENC帧。
Mp3File f = (Mp3File) AudioFileIO.read(new File(filePath));
Tag audioTag = f.getTag();
ID3v23Frame frame = new ID3v23Frame("TENC");
frame.setBody(new FrameBodyTENC(TextEncoding.ISO_8859_1,"encode by"));
tag.addFrame(frame);
f.commit();