如何用Java读取MP3文件的Tag信息

 我来答
湖南华信智原
2017-02-16 · 超过14用户采纳过TA的回答
知道答主
回答量:28
采纳率:75%
帮助的人:11.7万
展开全部

以随机读写方式打开一个MP3文件

将文件指针偏移量移动到文件长度倒数128位

判断标签头"TAG"是否存在

读取TAG_V1中的各个内容

关闭文件


TAG_V1(长度是固定的)其中包括的信息有:

标签头"TAG"    3字节

标题            30字节

作者            30字节

专辑            30字节

出品年份        4字节

备注信息        28字节

保留            1字节

音轨            1字节

类型            1字节

读入一个MP3文件的TAG_V1部分信息:

byte buf = new byte[128];//初始化标签信息的byte数组
RandomAccessFile raf = new RandomAccessFile(mp3, "r");//随机读写方式打开MP3文件
raf.seek(raf.length() - 128);//移动到文件MP3末尾
raf.read(buf);//读取标签信息
raf.close();//关闭文件
if(buf.length != 128){//数据长度是否合法
throw new Exception("MP3标签信息数据长度不合法!");
}
if(!"TAG".equalsIgnoreCase(new String(buf,0,3))){//标签头是否存在
throw new Exception("MP3标签信息数据格式不正确!");
}
获得TAG_V1中的各个内容:
String SongName = new String(buf,3,30,"utf-8").trim();//歌曲名称
String Artist = new String(buf,33,30,"utf-8").trim();//歌手名字
String Album = new String(buf,63,30,"utf-8").trim();//专辑名称
String Year = new String(buf,93,4,"utf-8").trim();//出品年份
String Comment = new String(buf,97,28,"utf-8").trim();//备注信息
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式