mp3处理工具(mp3agic)

1. maven

        <dependency>
            <groupId>com.mpatric</groupId>
            <artifactId>mp3agic</artifactId>
            <version>0.9.1</version>
        </dependency>

2. API

2.1 Mp3File对象方法

方法描述
getFrameCount()获取MP3文件帧数
getStartOffset()获取起始设置
getEndOffset()获取结束设置
getLengthInMilliseconds()获取MP3长度,单位毫秒
getLengthInSeconds()获取MP3长度,单位秒
isVbr()是否为VBR编码,不是为 CBR编码
getBitrate()获取码率
getBitrates()获取码率,返回map,key为码率,value为 MutableInteger 对象
getChannelMode() 获取渠道模式
isCopyright()是否有版权
getEmphasis()获取强调信息
getLayer()获取压缩级别
getModeExtension()获取模式扩展
isOriginal()是否是原版
getSampleRate()获取音频采样率
getVersion()获取版本
hasXingFrame()判断是否有 xing帧
getXingOffset()获取xing设置
getXingBitrate()获取xing比特率
hasId3v1Tag()判断是否有3v1本版标签
getId3v1Tag()获取3v1本版标签
setId3v1Tag(ID3v1 var1)设置3v1本版标签
removeId3v1Tag()移除3v1本版标签
hasId3v2Tag()判断是否有3v2本版标签
getId3v2Tag()获取3v2本版标签
setId3v2Tag(ID3v2 var1)设置3v2本版标签
removeId3v2Tag()移除3v2本版标签
hasCustomTag()判断是否有自定义标签
getCustomTag()获取自定义标签
setCustomTag(byte[] var1)设置自定义标签
removeCustomTag()移除自定义标签
save(String var1)保存mp3文件

2.2 ID3v1对象方法

方法描述
getVersion()获取版本
getTrack()获取唱片歌曲数量
setTrack(String var1)设置唱片歌曲数量
getArtist()获取艺术家
setArtist(String var1)设置艺术家
getTitle()获取歌曲名
setTitle(String var1)设置歌曲名
getAlbum()获取唱片名
setAlbum(String var1)设置唱片名
getYear()获取发行时间
setYear(String var1)设置发行时间
getGenre()获取流派
setGenre(int var1)设置流派
getGenreDescription();获取流派描述
getComment();获取注释
setComment(String var1)设置注释
toBytes()转换为字节数组

2.3 ID3v2对象方法(ID3v2为ID3v1的子类)

方法描述
getPadding()判断是否填充
setPadding(boolean var1)设置是否填充
hasFooter()判断是否有页脚
setFooter(boolean var1)设置页脚
hasUnsynchronisation()判断是否有不同步
setUnsynchronisation(boolean var1)设置是否有不同步
getBPM()获取每分钟节拍数
setBPM(int var1)设置每分钟节拍数
getGrouping()获取分组
setGrouping(String var1)设置分组
getKey()获取调号,它关系到我们整首歌曲的音高范围
setKey(String var1)设置调号
getDate()获取日期
setDate(String var1)设置日期
getComposer()获取作曲家
setComposer(String var1)设置作曲家
getPublisher()获取发版者
setPublisher(String var1)设置发版者
getOriginalArtist()获取原创艺术家
setOriginalArtist(String var1)设置原创艺术家
getAlbumArtist()获取专辑艺术家
setAlbumArtist(String var1)设置专辑艺术家
getCopyright()获取版权信息
setCopyright(String var1)设置版权信息
getArtistUrl()获取艺术家url地址
setArtistUrl(String var1)设置艺术家url地址
getCommercialUrl()获取广告url地址
setCommercialUrl(String var1)设置广告url地址
getCopyrightUrl()获取版权url地址
setCopyrightUrl(String var1)设置版权url地址
 getAudiofileUrl()获取音频文件路径
setAudiofileUrl(String var1)设置音频文件路径
getAudioSourceUrl()获取音频资源路径
setAudioSourceUrl(String var1)设置音频资源路径
getRadiostationUrl()获取广播url地址
setRadiostationUrl(String var1)设置广播url地址
getPaymentUrl()获取付款url地址
setPaymentUrl(String var1)设置付款url地址
getPublisherUrl()获取发版url地址
setPublisherUrl(String var1)设置发版url地址
getUrl()获取MP3地址
setUrl(String var1)设置MP3地址
getPartOfSet()获取部分配置信息
setPartOfSet(String var1)设置部分配置信息
isCompilation()获取是否汇编
setCompilation(boolean var1)设置是否汇编
getChapters()获取章节
setChapters(ArrayList<ID3v2ChapterFrameData> var1)设置章节
getChapterTOC()获取章节目录
setChapterTOC(ArrayList<ID3v2ChapterTOCFrameData> var1)设置章节目录
getEncoder()获取编码格式
setEncoder(String var1)设置编码格式
getAlbumImage()专辑插画
setAlbumImage(byte[] var1, String var2)设置专辑插画
setAlbumImage(byte[] var1, String var2, byte var3, String var4)设置专辑插画
clearAlbumImage()清除专辑插画
getAlbumImageMimeType()专辑插画类型
getWmpRating()获取评分
setWmpRating(int var1)设置评分
getItunesComment()获取调音方式
setItunesComment(String var1)设置调音方式
getLyrics()获取歌词
setLyrics(String var1)设置歌词
setGenreDescription(String var1)设置类型说明
 getDataLength()获取数据长度
getLength()获取长度
getObseleteFormat()获取过时的格式
getFrameSets()获取帧组
clearFrameSet(String var1)清除帧组

3. 实例代码

        Mp3File mp3file = new Mp3File("D:/demo/a.mp3");
        if (mp3file.hasId3v2Tag()) {
            ID3v2 id3v2Tag = mp3file.getId3v2Tag();
            System.out.println("唱片歌曲数量: " + id3v2Tag.getTrack());
            System.out.println("艺术家: " + id3v2Tag.getArtist());
            System.out.println("歌曲名: " + id3v2Tag.getTitle());
            System.out.println("唱片名: " + id3v2Tag.getAlbum());
            System.out.println("歌曲长度:"+mp3file.getLengthInSeconds()+"秒");
            System.out.println("码率: " + mp3file.getBitrate() + " kbps " + (mp3file.isVbr() ? "(VBR)" : "(CBR)"));
            System.out.println("专辑插画 : "+id3v2Tag.getAlbumImage());
            System.out.println("专辑插画类型"+id3v2Tag.getAlbumImageMimeType());
            System.out.println("发行时间: " + id3v2Tag.getYear());
            System.out.println("流派: " + id3v2Tag.getGenre() + " (" + id3v2Tag.getGenreDescription() + ")");
            System.out.println("注释: " + id3v2Tag.getComment());
            System.out.println("歌词: " + id3v2Tag.getLyrics());
            System.out.println("作曲家: " + id3v2Tag.getComposer());
            System.out.println("发行公司: " + id3v2Tag.getPublisher());
            System.out.println("Original artist: " + id3v2Tag.getOriginalArtist());
            System.out.println("Album artist: " + id3v2Tag.getAlbumArtist());
            System.out.println("版权: " + id3v2Tag.getCopyright());
            System.out.println("URL: " + id3v2Tag.getUrl());
            System.out.println("编码格式: " + id3v2Tag.getEncoder());
            byte[] albumImageData = id3v2Tag.getAlbumImage();
            if (albumImageData != null) {
                System.out.println("专辑插图长度: " + albumImageData.length + " bytes");
                System.out.println("专辑插图类型: " + id3v2Tag.getAlbumImageMimeType());
            }
        }

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑重其事,鹏程万里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值