在《JBuilser编程技术与实例》中的MP3播放器程序中是这样写的:
long datasize = (mp3.length() * 8) - id3v2.getSize();
long bps = head.getBitRate() * 1000;
return datasize / bps;其中
mp3是一个File实例,由一个mp3文件创建
id3v2.getSize()是获取id3v2标签的大小
head.getBitRate()是获取mpeg帧的比特率
datasize/bps返回则是播放时间为什么这么计算我看不明白?有没有其他计算方法?谢谢!
long datasize = (mp3.length() * 8) - id3v2.getSize();
long bps = head.getBitRate() * 1000;
return datasize / bps;其中
mp3是一个File实例,由一个mp3文件创建
id3v2.getSize()是获取id3v2标签的大小
head.getBitRate()是获取mpeg帧的比特率
datasize/bps返回则是播放时间为什么这么计算我看不明白?有没有其他计算方法?谢谢!
id3v2是标签的大小,也就是头部
mp3.length() 这里得到的是byte,所以要乘以8
然后减去头部,就是数据
bps是每秒需要的数据量
所以除一下就是播放的时间了