MP3播放器分析

MP3原理:
MP3采用量化程度为10:1~12:1的量化方式对音频信号进行有损压缩。采用“感官编码技术”,压缩时对声音进行谱分析,然后用滤波器滤掉噪声电平,用量化的方式将剩下的每一位打散排列,形成具有较高压缩比的MP3文件。
MP3文件的组成:
ID3V2、Frame 、ID3V1。
ID3V1包含了作者,作曲,专辑等信息,并且长度固定在128字节。
Frame是一系列的帧,个数是由文件的大小和帧长决定。每一帧的长度可能固定也可能不固定,
由位率决定。每一帧包含了帧头、CRC校验码、主要数据三部分。帧头记录了MP3的位率、采样率和版本信息等,每个帧之间相互独立,长度为4字节。帧头的第16位决定了CRC校验码的有无,为0没有校验码,为1 有两个字节的校验码。帧的主要数据有帧头计算出。
ID3V2包含了作者,作曲,专辑等信息,扩展了ID3V1但是帧头不固定。
MP3文件解码流程:
MP3解码实际是循环的对每一个Frame进行解码,直到完成所有的Frame解码,中途出现错误时终止,
这里写图片描述
每一帧的解码首先获取同步帧头和帧头信息,获得相应参数根据帧头信息,得到实际一帧的音频数据,读取主要数据获得缩放因子数据和霍夫曼码字,霍夫曼解码,进行反量化,根据帧头信息,对反量化结果进行立体化处理。通过混叠处理、IMDCT和合成滤波器重建音频信息数字音频信息。
帧解码流程
这里写图片描述
解码播放简化流程:
这里写图片描述
播放器的主要类设计:
这里写图片描述
Mp3Player是主要类,主要实现播放器界面;Sound主要实现播放器的底层解码和播放;Player主要实现底层播放与界面交互;Read ID3v1主要实现MP3头文件信息的读取;PlayList主要实现播放器列表的操作功能。

http://www.doc88.com/p-39422253047.html
http://www.doc88.com/p-995317236056.html
http://www.doc88.com/p-29855503669.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值