第 5 章 计算CBR和VBR的MP3文件的播放时间的步骤

目录

5.1. 定位到MPEG的帧头的位置
5.2. 解析MPEG帧头,获取必要信息
5.3. 判断是VBR还是CBR,根据公式计算播放时间
5.3.1. 定位出Xing头的位置
5.3.2. 如果有Xing头,则是VBR,解析XING头,计算播放时间
5.3.3. 如果没XING头,定位出VBRI头位置,找VBRI头
5.3.4. 如果也没找到VBRI头,则是CBR,计算CBR的播放时间

摘要

此处只是大概总结一下,具体解析出播放时间,需要哪些步骤,可以参考相关源码:

  1. 可以参考 [1] ,注册登录后,可以下载源代码,自己看,就知道了。

  2. 也可以去参考 [2] 中的Mplayer的VBR 的patch,里面写的更加简单,也更容易看明白。

下面就解释一下,关于如何去计算MP3的文件的播放时间,的具体的逻辑和顺序:

5.1. 定位到MPEG的帧头的位置

由于在计算MP3播放时间之前,要先找到对应的MPEG的帧头,所以,先要找到MPEG具体在某个位置。

具体方法是,如果文件开始没有ID3 V2的头信息,那么一般MPEG的帧头位置是0,当然,具体还是要根据帧头中的同步位(sync bit),共11位去定位找到帧头。