五、MP3文件认识上的几个误区
2014-10-09 10:38
288 查看
1.每帧播放时长都为26ms?
很多博客和文章都提到,Mp3文件每个帧的播放时长(Frame_PlayingTime)是26ms,这个结论是错误的。公式应该是这样的:
一个帧的播放时长=一个帧的采样个数*一次采样的时间=一个帧的采样个数*(1/采样频率)------------------单位是秒。
Frame_PlayingTime=Sample_Number * Time_Per_Sample=Sample_Number * (1 / Frame_Sample_Rate)
现在分析一下26ms的来历,我们一般的声音文件采样频率为44.1KHZ,也就是说分析数据帧时,第21至22位为“00”,如“FF FB 90 64”,所以
每帧的播放时长=1152/(44.1*1000)=26.12ms=26ms;但是,前面的博文里面分析了,MPEG-1共有三种采样频率(如下表);所以,采样频率为48KHz时,每帧的播放时长为24ms;采样频率为32Hz时,每帧的播放时长为36ms;
另:在这里,说一下MPEG-2和MPEG-2.5。MPEG-2 音频(ISO/IEC 13813-3)包含了对 MPEG-1的两种扩展。通常称为 MEGP-2/低采
样率(LSF)和MPEG-2/多声道(Multichannel)。 MPEG-2/LSF的特性:a.一个或两个音频声道
b.采样率只有MPEG-1的一半c.比特率从8Kpbs 到256Kbps;MPEG-2/多声道 的特性:a.多达5个全范围的音频声道和一个
LFE(Low Frequency Enhancement,也叫做 重低音)声道b.采样率和MPEG-1相同c.对于5.1声道,最高的比特率可达
1Mpbs 。
很多博客和文章都提到,Mp3文件每个帧的播放时长(Frame_PlayingTime)是26ms,这个结论是错误的。公式应该是这样的:
一个帧的播放时长=一个帧的采样个数*一次采样的时间=一个帧的采样个数*(1/采样频率)------------------单位是秒。
Frame_PlayingTime=Sample_Number * Time_Per_Sample=Sample_Number * (1 / Frame_Sample_Rate)
现在分析一下26ms的来历,我们一般的声音文件采样频率为44.1KHZ,也就是说分析数据帧时,第21至22位为“00”,如“FF FB 90 64”,所以
每帧的播放时长=1152/(44.1*1000)=26.12ms=26ms;但是,前面的博文里面分析了,MPEG-1共有三种采样频率(如下表);所以,采样频率为48KHz时,每帧的播放时长为24ms;采样频率为32Hz时,每帧的播放时长为36ms;
00 | 01 | 10 | 11 | |
MPEG-1 | 44.1 kHz | 48 kHz | 32 kHz | 未定义 |
MPEG-2 | 22.05 kHz | 24 kHz | 16 kHz | 未定义 |
MPEG-2.5 | 11.025 kHz | 12 kHz | 8 kHz | 未定义 |
样率(LSF)和MPEG-2/多声道(Multichannel)。 MPEG-2/LSF的特性:a.一个或两个音频声道
b.采样率只有MPEG-1的一半c.比特率从8Kpbs 到256Kbps;MPEG-2/多声道 的特性:a.多达5个全范围的音频声道和一个
LFE(Low Frequency Enhancement,也叫做 重低音)声道b.采样率和MPEG-1相同c.对于5.1声道,最高的比特率可达
1Mpbs 。
相关文章推荐
- 五、MP3文件认识上的几个误区
- 软件测试认识的几个误区
- 软件测试认识的几个误区
- .net开发中几个重要的认识误区小结
- [转]Redis几个认识误区
- [转]Redis几个认识误区
- 在.net开发中几个重要的认识误区
- Redis几个认识误区(Tim总结)
- 在.Net开发中几个重要的认识误区
- 对CMMI认识的几个误区
- NoSQL数据库Redis几个认识误区
- 在.net开发中几个重要的认识误区(1)
- 软件测试认识的几个误区
- 软件测试认识的几个误区
- .net开发中几个重要的认识误区小结
- 软件测试认识的几个误区
- 在.net开发中几个重要的认识误区
- 在.net开发中几个重要的认识误区
- 在.net开发中几个重要的认识误区
- Redis几个认识误区