mp3tag批量编辑

说明

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

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

github地址:https://github.com/mpatric/mp3agic


使用方法

  1. 通过maven方式引入
        <!-- 一个修改mp3文件属性信息工具库 -->
        <dependency>
            <groupId>com.mpatric</groupId>
            <artifactId>mp3agic</artifactId>
            <version>0.9.1</version>
        </dependency>
  1. 通过代码批量修改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






原创文章 21 获赞 13 访问量 8407

猜你喜欢

转载自blog.csdn.net/iteye_19045/article/details/94888313