首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jaudiotagger java读写mp3 (源)标签

如何使用jaudiotagger java读写mp3 (源)标签
EN

Stack Overflow用户
提问于 2015-08-02 19:15:10
回答 1查看 982关注 0票数 0

我已经成功地读/写mp3标签艺术家,标题,作曲家使用jaudiotagger。我还想读/写原始mp3标签,如出版商,编码者,作者网址,版权和字幕。

下面是我的java代码

代码语言:javascript
复制
AudioFile f = (MP3File) AudioFileIO.read(new File(filePath));
audioTag = f.getTag();
audioTag.setField(FieldKey.TITLE, "JAudioTagger");
f.commit();
audioTag.getFirst(FieldKey.TITLE);

有谁知道如何实现这些标签吗?

EN

回答 1

Stack Overflow用户

发布于 2015-11-14 17:11:10

您列出的字段名实际上并不是Mp3字段,但是使用FieldKey类时,我们会将常用的字段名映射到正确的mp3框架,这样您就可以按如下方式访问其中的三个字段

代码语言:javascript
复制
audioTag.setField(FieldKey.LABEL, "Publisher");
audioTag.setField(FieldKey.URL_OFFICIAL_ARTIST_SITE, "AuthorUrl");
audioTag.setField(FieldKey.SUBTITLE, "Subtitle");

要写入版权,目前必须使用mp3特定的接口来写入版权(TCOP框架)

e.g

代码语言:javascript
复制
 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();

对于encode by,我们使用相同的方法写入TENC帧。

代码语言:javascript
复制
 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();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31771308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档