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;

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

未定义

另:在这里,说一下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文件认识上的几个误区的更多相关文章

  1. JavaWeb学习总结(五十)——文件上传和下载

    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...

  2. SpringMVC学习总结(五)——SpringMVC文件上传例子

    这是用的是SpringMVC-3.1.1.commons-fileupload-1.2.2和io-2.0.1 首先是web.xml <?xml version="1.0" e ...

  3. 渗透测试学习 十五、 文件上传&&解析漏洞

    大纲:文件解析漏洞 上传本地验证绕过 上传服务器验证绕过 文件解析漏洞 解析漏洞主要说的是一些特殊文件被IIS.Apache.Nginx在某些情况下解释成脚本文件格式的漏洞. IIS 5.x/6.0解 ...

  4. SpringMVC中文件的上传(上传到服务器)和下载问题(一)

    一.今天我们所说的是基于SpringMVC的关于文件的上传和下载的问题的解决.(这里所说的上传和下载都是上传到服务器与从服务器上下载文件).这里的文件包括我们常用的各种文件.如:文本文件(.txt), ...

  5. 【ASP.NET 进阶】获取MP3文件信息并显示专辑图片

    突发奇想,想弄个显示MP3文件信息和专辑图片的小Demo,个人不是大牛,遂百度之,总算搞定,现分享如下. 效果图: GIF效果图: 主要是依靠2个DLL文件:ID3.dll 和 Interop.She ...

  6. 浅谈如何使用代码为MP3文件写入ID3Tags

    作者:郑童宇 GitHub:https://github.com/CrazyZty 1.前言 做了三年左右的Android开发,一直没写过博客,最近正好打算换工作,算是闲一些,就将以前开发所遇到的一些 ...

  7. Unity3d:播放物理目录下的MP3文件

    u3d里,是支持播放MP3文件的,但要放到资源里,不支持播放物理目录下的MP3文件.由于界面上无需显示,只是当作背景音乐来播放,所以想到调用c#的组件来解决此问题.主要代码都在附件中,根据需要加到自己 ...

  8. HTML5 文件域+FileReader 分段读取文件并上传(七)-WebSocket

    一.单文件上传实例 HTML: <div class="container"> <div class="panel panel-default" ...

  9. android下大文件分割上传

    由于android自身的原因,对大文件(如影视频文件)的操作很容易造成OOM,即:Dalvik堆内存溢出,利用文件分割将大文件分割为小文件可以解决问题. 文件分割后分多次请求服务. //文件分割上传 ...

随机推荐

  1. TCP三次握手的过程

    三次握手 下图就是wireshark抓包工具抓获的TCP连接建立的三次握手过程: http://www.cnblogs.com/hnrainll/archive/2011/10/14/2212415. ...

  2. qt 操作excel表格

     自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAx ...

  3. 在Docker中运行torch版的neural style

    相关的代码都在Github上,请参见我的Github,https://github.com/lijingpeng/deep-learning-notes 敬请多多关注哈~~~ 在Docker中运行to ...

  4. chart.js制作折线图

    <!DOCTYPE html> <html> <head> <title></title> </head> <script ...

  5. 微信jssdk获取当前位置,以及打开微信地图

    $(function() { var url = window.location.href; var userId = $("#userId").val(); // var ope ...

  6. 《JavaScript 闯关记》之垃圾回收和内存管理

    JavaScript 具有自动垃圾收集机制(GC:Garbage Collecation),也就是说,执行环境会负责管理代码执行过程中使用的内存.而在 C 和 C++ 之类的语言中,开发人员的一项基本 ...

  7. hdu1754 基础线段树

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  8. poj2778DNA Sequence (AC自动机+矩阵快速幂)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud DNA Sequence Time Limit: 1000MS   Memory ...

  9. 混合高斯模型和EM算法

    这篇讨论使用期望最大化算法(Expectation-Maximization)来进行密度估计(density estimation). 与k-means一样,给定的训练样本是,我们将隐含类别标签用表示 ...

  10. 何时可以开启透明数据加密(TDE)?

    TDE可以为我们的数据库提供加密保护,但是,不是任何情况下都可以随意开启TDE的,同时开启TDE后,我们的数据库维护管理工作也需要进行一些调整. 下面我们就先看看开启TDE需要的条件吧! 无法正常开启 ...