5个实用场景玩转mp3tag4cxx嵌入专辑封面、写歌词、章节导航与评分标签【免费下载链接】mp3tag4cj一个用于读取、创建和修改MP3标签信息的库项目地址: https://gitcode.com/Cangjie-TPC/mp3tag4cjmp3tag4cj是一个用于读取 MP3 文件、读取/创建/修改 ID3 标签ID3v1 与 ID3v2.2~v2.4的 Cangjie 开源库。本文挑出 5 个新手最常用的实用场景嵌入专辑封面、写入歌词、章节导航、评分标签、批量修复旧标签让你几分钟就能上手这个 MP3 标签处理库。一、快速上手3步接入mp3tag4cj第一步获取源码git clone https://gitcode.com/Cangjie-TPC/mp3tag4cj第二步确认依赖。库依赖 charset4cj 字符集包需要 cjc v1.1.3 以上版本见 cjpm.toml。第三步构建cjpm build核心入口类只有两个Mp3File负责打开文件和音频信息ID3v2标签负责封面、歌词等数据帧。二、场景1嵌入专辑封面APIC帧音乐播放器里显示专辑封面靠的就是 ID3v2 的APIC 帧。mp3tag4cj 提供了setAlbumImage()接口定义于 abstract_id3v2_tag.cj只需传入三步图片字节数据ArrayInt8MIME 类型一般填image/png或image/jpeg图片类型0x03 正面封面最常用还支持背面、艺人照、Logo 等 14 种类型读取封面用getAlbumImage()想删掉就用clearAlbumImage()。接口细节可查官方文档 doc/feature_API.md。三、场景2写入歌词USLT帧给 MP3 内嵌完整歌词播放器切歌时歌词就能自动滚动。对应的是USLT 帧setLyrics(OptionString)写入歌词getLyrics()读取歌词标签内容支持ISO-8859-1、UTF-16LE、UTF-16BE、UTF-84 种编码由 encoded_text.cj 统一处理所以中文歌词放心写入不会乱码。四、场景3章节导航CHAP CTOC帧播客、有声书、Live 合集这类一首文件多段内容的场景需要章节标签CHAP 帧setChapters()每一章包含id、startTime/endTime毫秒、startOffset/endOffset还支持子帧挂载额外信息封装类见 id3v2_chapter_frame_data.cjCTOC 帧setChapterTOC()目录树支持层级化章节索引见 id3v2_chapter_toc_frame_data.cj写入后支持章节跳转的播放器就能直接点章节播放。五、场景4添加评分标签POPM帧给心爱的歌打 1~5 星ID3v2 的POPM 帧就是干这个的// 设置评分有效值 [0,5] id3v2Tag.setWmpRating(4) // 读取评分 var rating: Int32 id3v2Tag.getWmpRating()很多播放器会直接把它显示成星标帮你快速区分常听和听过的歌。POPM 帧数据封装在 id3v2_popm_frame_data.cj。六、场景5批量读取与修复旧MP3的ID3v1标签老歌库里大量 MP3 只有 128 字节的ID3v1 标签。mp3tag4cj 对 ID3v1 提供完整支持id3v1_tag.cj操作接口判断是否存在hasId3v1Tag()获取/设置标题getTitle()/setTitle()设置艺术家/专辑/年份setArtist()/setAlbum()/setYear()设置流派/评论setGenre()/setComment()保存为新文件mp3File.save(新路径)配合getBitrate()、isVbr()、getLengthInSeconds()等音频信息接口非常适合写批量扫描批量写标签的小工具。完整可运行的示例见 README.md。七、总结一张表看懂5个场景场景ID3v2 帧核心接口关键源码专辑封面APICsetAlbumImage()id3v2_picture_frame_data.cj写入歌词USLTsetLyrics()abstract_id3v2_tag.cj章节导航CHAP / CTOCsetChapters()/setChapterTOC()id3v2_chapter_frame_data.cj评分标签POPMsetWmpRating()id3v2_popm_frame_data.cj旧标签修复ID3v1setId3v1Tag()save()id3v1_tag.cj所有标签修改完成后调用Mp3File.save()一次性写回文件即可。项目基于 MIT License 开源当前版本 v1.0.4见 CHANGELOG.md欢迎上手尝试这 5 个场景【免费下载链接】mp3tag4cj一个用于读取、创建和修改MP3标签信息的库项目地址: https://gitcode.com/Cangjie-TPC/mp3tag4cj创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考