Java使用jaudiotagger批量修改MP3、FLAC标签tag标题信息

该文介绍了一个工具,用于处理按照【歌手】-【歌名】格式命名的音频文件,支持MP3和FLAC格式。工具通过读取文件标签,更新歌曲的标题、艺术家和专辑信息,利用Swagger接口在浏览器中进行交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

效果展示:
使用前:
在这里插入图片描述

使用后:
在这里插入图片描述
前置条件:文件名按照【歌手】-【歌名】的形式命名

使用截图:
在这里插入图片描述

带swagger,在浏览器输入:http://localhost:8082/swagger-ui/index.html#

贴上部分代码

private static void doFlac(File f, String encoding) throws Exception {
        String fName = f.getName();
        AudioFile audioFile;
        if (fName.substring(fName.length() - 3).equalsIgnoreCase("mp3")) {
            audioFile = MP_3_FILE_READER.read(f);
        } else if (fName.substring(fName.length() - 4).equalsIgnoreCase("flac")) {
            audioFile = FLAC_FILE_READER.read(f);
        } else {
            // 不支持的格式
            return;
        }
        System.out.println("===============开始处理[" + fName + "]===============");
        String musicInfo = fName.substring(0, fName.indexOf(".mp3"));
        System.out.println("音乐信息:" + musicInfo);
        String author = musicInfo;
        String musicName = musicInfo;
        if (fName.contains("-")) {
            String[] split = musicInfo.split("-");
            author = split[0];
            musicName = split[1];
        }
        System.out.println("author====>" + author);
        System.out.println("musicName====>" + musicName);
        Tag tag = audioFile.getTag();
        if (tag instanceof ID3v1Tag) {
            ID3v1Tag id3v1Tag = (ID3v1Tag) tag;
            Charset charset = id3v1Tag.getEncoding();
            musicInfo = new String(musicInfo.getBytes(encoding), charset);
            author = new String(author.getBytes(encoding), charset);
            musicName = new String(musicName.getBytes(encoding), charset);
        }
        tag.deleteField(FieldKey.TITLE);
        tag.addField(FieldKey.TITLE, musicName);
        tag.deleteField(FieldKey.COMMENT);
        tag.addField(FieldKey.COMMENT, musicInfo);
        tag.deleteField(FieldKey.ARTIST);
        tag.addField(FieldKey.ARTIST, author);
        tag.deleteField(FieldKey.ALBUM);
        tag.setField(FieldKey.ALBUM, author);
        audioFile.setTag(tag);
        audioFile.commit();
        System.out.println("===================处理完毕===================");
    }

项目资源:https://download.csdn.net/download/qq1170993239/87793099

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值