mp3信息的读取

MP3信息是什么?

是存放在文件的最后128个byte,按照如下的格式记录。

private final String TAG = "TAG"; // 文件头1-3

private String songName; // 歌曲名4-33
private String artist; // 歌手名34-63
private String album; // 专辑名61-93
private String year; // 年94-97
private String comment; // 备注98-125
private byte r1, r2, r3; // 三个保留位126,127,128
private boolean valid; // 是否合法

public transient String fileName; // 此歌曲对应的文件名,没有封装

干什么?

把信息用java读出来

怎么干?

使用RandomAccessFile读取文件,

seek到最后128byte,

存放到数组,

使用String(byte[], setoff, size)读取字串个数

显示出来上一步的byte。

ok完工。

代码见我的工程。


后续问题:

中文的信息,在系统中显示乱码

解决办法:

1. 转换字符编码:byte b[]=str.getBytes; //先转换为字节数组

str=new String(b,"GBK"); //转换字符格式为GBK,以上代码再每次调用表单元素传来的值前都要使用

setCharacterEncoding()方法

2. 

●优点:代码较方法1少

●缺点:每次使用前所传值前都需要用此方法转换,繁琐,容易产生代码冗余

●示例代码:

request.setCharacterEncoding("GBK");//首先设置request对象接收字符的编码方式为GBK

String str=request.getParameter("name"); //假设表单元素传来name的值为中文字符

3. 使用接口实现(略)

转载于:https://my.oschina.net/zhangqingcai/blog/30044

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值