iOS音频(基础篇)-常用的音频格式

PCM格式

PCM属于编码格式,PCM是经过话筒后直接得到的未经压缩的数据流 数据的大小 = 采样率 * 采样位数 * 声道 * 秒数 / 8 采样率一般是:22K或者是44K 位数一般是:8位或者16位 声道一般是:双声道或者单声道 PCM是一串由多个样本值组成的数据流,本身没有任何头信息或者帧的概念。只有一段PCM数据是没有办法知道它的采样率的信息的。

WAV格式

WAV是封装格式,里面本身可以存放多种编码格式,不过一般都存放PCM数据。 WAV文件是由“WAV文件头”和“WAV文件体”组成。前44字节存放采样率,通道数,数据部分的标识符等头信息,后面就是存放数据部分。很显然WAV的头信息一旦损坏了,播放就会产生问题。

MP3格式

MP3是封装格式,里面存放的数据使用的编码方式为:MPEG1 Layer-3 MP3是由TAG_V2结构体,TAG_V1结构体,和一组Frame组成。头部和尾部的TAG结构体不一定存在,需要判断。中间的Frame,每一个Frame都是由帧头和数据实体组成,帧头记录了MP3的位率,采样率,版本等信息。每个帧之间相互独立,也就是说即使前面的帧损坏了,后面的也可以播放。

AMR格式

AMR是封装格式。 AMR文件包含一个文件头,后面就是一帧一帧的AMR帧。 文件头里面的值就固定值,用于标记文件为AMR文件。 每个帧分为帧头和数据部分,帧头里面包含编发方式和辅助信息。AMR的采样率跟编码方式的不同而不同。

AAC格式

AAC文件可以没有文件头,全部由帧序列组成。 每个帧包含帧头和数据部分。 帧头包含采样率,声道数,帧长度等有点类似MP3格式。

CAF格式

CAF是苹果的一种音频封装格式,与WAV差不多,里面可以存放LPCM,MP3等多种编码方式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GuZhenYin

C#开发移动应用系列(4.调用系统应用,以及第三方应用(调用与被调用))

前言 上篇文章地址: C#开发移动应用系列(1.环境搭建) C#开发移动应用系列(2.使用WebView搭建WebApp应用) C#开发移动应用系列(3.使用照...

2007
来自专栏算法修养

HttpClient参观记:.net core 2.2 对HttpClient到底做了什么?

.net core 于 10月17日发布了 ASP.NET Core 2.2.0 -preview3,在这个版本中,我看到了一个很让我惊喜的新特性:HTTP C...

1301
来自专栏Java3y

【SSH测试整合Demo】企业人事管理系统

前言 前面我们已经学习了怎么整合SSH框架了。是时候拿一个小项目来练练手了….我们现在要设计一个企业人事管理系统… 需求: **要求对员工信息进行维护; ** ...

39213
来自专栏跟着阿笨一起玩NET

在大型软件中用Word做报表: 书签的应用

本文转载:http://www.cnblogs.com/huyong/archive/2011/08/24/2151599.html

731
来自专栏java 成神之路

java 限流策略

3757
来自专栏项勇

笔记78 | 解读一个闹钟代码

最近因工作需要做一个定时器,一看需求,深思极恐: 1.定时发送开关指令; 2.可设置周期循环; 这不就是一个标准的闹钟吗? 哎呀,烧脑~

822
来自专栏Coding01

深入浅出 Laravel Echo (3)

看完 public channel 的流程,我们该来说说怎么跑通 private channel 了。

2023
来自专栏小L的魔法馆

UML绘制活动图--客户来电咨询活动图

3296
来自专栏Java技术

【面试题】2018年最全Java面试通关秘籍第三套!

注:本文是从众多面试者的面试经验中整理而来,其中不少是本人出的一些题目,网络资源众多,如有雷同,纯属巧合!禁止一切形式的碰瓷行为!未经允许禁止一切形式的转载和复...

1091
来自专栏乐享123

Capture QinQ Large Packets

2939

扫码关注云+社区