说明
最近在听有声小说(mp3格式),总共有好几百集,
在手机播放器上发现播放列表居然每一集显示的名字都是“xxx",根本分不清是哪一集了,
其实我的文件名是类似于:“有声xxx_第x集.mp3” 这种格式,
但是尝试了好几种主流的手机播放器,播放器列表中显示的都不是文件名,而是mp3的“标题”属性,

讯享网
这时需要手工在window上对每一个mp3的“标题”属性进行修改,
几百个文件太难了,有没有批量修改工具呢?
还真有,在github上找到了一个叫 mp3agic 的开源库。

github地址:https://github.com/mpatric/mp3agic
使用方法
- 通过maven方式引入
<!-- 一个修改mp3文件属性信息工具库 --> <dependency> <groupId>com.mpatric</groupId> <artifactId>mp3agic</artifactId> <version>0.9.1</version> </dependency>
讯享网
- 通过代码批量修改mp3tag属性(mp3文件中这些属性统称为 mp3tag )
讯享网package com.join.tools.mp3; import com.mpatric.mp3agic.*; import java.io.File; public class Mp3Tools {
public static void main(String[] args) {
String dir="C:\\Users\\xxx\\Downloads\\"; String destDir="C:\\Users\\xxx\\Downloads\\dest\\"; File parent=new File(dir); File[] files=parent.listFiles(); for (File file : files) {
//遍历该目录下所有mp3文件 if(file.getName().endsWith(".mp3")){
try {
Mp3File mp3file = new Mp3File(file); ID3v1 id3v1Tag; if (mp3file.hasId3v2Tag()) {
id3v1Tag = mp3file.getId3v2Tag(); } else if(mp3file.hasId3v1Tag()){
id3v1Tag = mp3file.getId3v1Tag(); } else {
// mp3 does not have an ID3v1 tag, let's create one.. id3v1Tag = new ID3v1Tag(); mp3file.setId3v1Tag(id3v1Tag); } //id3v1Tag.setTrack("5"); id3v1Tag.setArtist("xx书品家"); //这里我把mp3标题Tag修改成与文件名一致,可以根据自己的需求修改title id3v1Tag.setTitle(file.getName()); //专辑设置 id3v1Tag.setAlbum("有声读物xxx"); //其他属性,根据自己的需求设置 id3v1Tag.setYear("2019"); id3v1Tag.setGenre(12); id3v1Tag.setComment("modify by mp3agic"); //文件输出到目标目录 mp3file.save(destDir+file.getName()); //System.out.println(file.getName()+ " process success: "); } catch (Exception e) {
System.out.println(file.getName()+ " process fail: "+e.getLocalizedMessage()); //e.printStackTrace(); } } } } }
详见: https://github.com/join1024/MP3Processor
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/47214.html