zoukankan      html  css  js  c++  java
  • 五、MP3文件认识上的几个误区

    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 。

  • 相关阅读:
    Scala教程之:静态类型
    java运行时跟编译时的区别,欢迎大家指正
    循环者的诅咒
    Python分支结构与流程控制
    底层剖析Python深浅拷贝
    I/O格式化与运算符
    详解Python垃圾回收机制
    LeetCode29 Medium 不用除号实现快速除法
    详解SkipList跳跃链表【含代码】
    高等数学——讲透微分中值定理
  • 原文地址:https://www.cnblogs.com/shakin/p/4012781.html
Copyright © 2011-2022 走看看