展开全部
以随机读写方式打开一个MP3文件
将文件指针偏移量移动到文件长度倒数128位
判断标签头"TAG"是否存在
读取62616964757a686964616fe78988e69d8331333363356538TAG_V1中的各个内容
关闭文件
TAG_V1(长度是固定的)其中包括的信息有:
标签头"TAG" 3字节
标题30字节
作者30字节
专辑30字节
出品年份 4字节
备注信息 28字节
保留1字节
音轨1字节
类型1字节
读入一个MP3文件的TAG_V1部分信息:bytebuf=newbyte[128];//初始化标签信息的byte数组
RandomAccessFileraf=newRandomAccessFile(mp3,"r");//随机读写方式打开MP3文件
raf.seek(raf.length()-128);//移动到文件MP3末尾
raf.read(buf);//读取标签信息
raf.close();//关闭文件
if(buf.length!=128){//数据长度是否合法
thrownewException("MP3标签信息数据长度不合法!");
}
if(!"TAG".equalsIgnoreCase(newString(buf,0,3))){//标签头是否存在
thrownewException("MP3标签信息数据格式不正确!");
}
获得TAG_V1中的各个内容:
StringSongName=newString(buf,3,30,"utf-8").trim();//歌曲名称
StringArtist=newString(buf,33,30,"utf-8").trim();//歌手名字
StringAlbum=newString(buf,63,30,"utf-8").trim();//专辑名称
StringYear=newString(buf,93,4,"utf-8").trim();//出品年份
StringComment=newString(buf,97,28,"utf-8").trim();//备注信息