mp3 vbr

cbr的文章很多,不累述了。这里主要讲的是mp3, vbr的文件结构。

对vbr的文件来说,第一包不是音频数据,而是这个文件的vbr 信息。

 

0-3 byte   mp3的每包音频数据头,内涵各种audio info. 如FF, FB, 90,04.

4-39 byte 在这里面有4个bytes为"Xing"(58, 69, 6e, 67),这个是vbr的标识,如果没有就是cbr, 如果有在的位置不同代表不一样的格式和channel,具体如下:

36-39 "Xing":  mpeg1, channel!=mono (大多数情况,都是这种)

21-24 "Xing":    mpeg2, channel==mono

21-24 "Xing":    mpeg2, channel!=mono

  (这2种情况肯定有项是错误的,但是原始spec上这么写,我目前还没碰到过类似文件,有待验证)

 

40-43 byte:  &0x1, frame总数有没有储存。

                      &0x2, 文件大小,byte为单位。

                      &0x4, TOC flag. (table of contents)

                      &0x8, VBR scale flag

44-47 byte:  frame 总数

48-51 byte:  文件大小,byte为单位

52-151 byte:TOC,100个index. (TOC[i]/256)*fileLenInBytes.

比如:240秒的歌,我希望跳到第30秒,文件总大小为8888888bytes.

第30秒的offset就是(TOC[30/240*100]/256)*8888888

152-155 byte: 不知道做撒的,谁知道请留言。

                     

 vbr的总时间:

druation = (total_frame*32*MAD_NSBSAMPLES(layer, flag)/samplerate)

 

 

 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值