代码改变世界

关于MP3文件播放时间的计算

2007-08-08 17:50  莫耶  阅读(6337)  评论(10编辑  收藏  举报
  小琢磨了一下mp3的格式,因为很想计算出其文件播放时长
  根据RFC文档上的说法,只要知道文件的长度,播放的比特率(bitRate),采样率(Simpling Frequency Rate)以及 填充位数(Padding bits),以及“恒定每26ms能播放一数据帧” 的约定,就可以计算出播放时长
  okay,要做的就是,了解mp3帧格式,获取比特率,采样率 以及 填充位数

  在mp3文件的末尾,恒存在一个长度为128字节的ID3 Tag Version 1的标签,用以描述文件。如果愿意,还可以添加一个ID3 Tag Version 2到文件头,长度不固定,不过在其头部,会有10字节的描述头,里头标识出这个TAG结构的总长(含10字节),然后,接下来夹着的一直到TAG V1的部分,就是全部的数据帧。

   假定这些帧是采取CBR格式,即固定帧长存储,则每一帧的帧头描述都是一样的,基于此,便可计算出所需要的数据

   做一个类,来干这件事情:



  很显然,这事儿还没干完,先留着,以后再干~~~