使用MediaCodec将PCM音频编码为AMR-WB格式

文章介绍了PCM作为未经压缩的原始音频格式和AMR-WB压缩语音编码格式的区别。PCM数据结构直观,每个帧包含固定数量的样本,而AMR-WB则包含帧头和压缩音频数据。通过MediaCodecAPI进行转换可能出现杂音,原因包括数据质量、丢失、顺序错误、格式不匹配或编码器配置错误。

PCM (Pulse Code Modulation) 音频数据是一种未经压缩的原始音频数据格式,各个音频样本都由固定大小且有符号/无符号的整数值组成。每个 PCM 帧包含一个或多个 PCM 音频样本,通常表示为 16 比特或 24 比特或 32 比特的整数值。

PCM 格式音频的数据结构是轻松理解和实现的。每个音频帧包含一个或多个 PCM 音频样本(例如,对于单声道,每个PCM帧只包含一个音频样本,而对于立体声,则有两个样本),每个样本由一个固定数量的比特位(通常为 16 比特)表示,可以是有符号整数或无符号整数。

以下是用于描述基本 PCM 数据结构示例:

Byte 1          Byte 2          Byte 3
+--------------+--------------+
| Left Sample 1| Right Sample 1|
+--------------+--------------+

 Byte 4          Byte 5          Byte6
+--------------+--------------+
| Left Sample 2| Right Sample 2|
+--------------+--------------+
 ...            ...            ...

上面的示例展示了一种记录“立体声 PCM”音频样本的方法,其中每个音频帧都包含左右两个音频样本,每个样本是由16位宽度的整数值来表示。

AMR-WB (Adaptive Multi Rate Wideband) 是一种语音编码格式,它使用抽样率为 16 kHz,量化位数为 16 比特,并且允许比较低的码率(通常在 6 到 12.2 kbps 范围内)来压缩语音内容。

AMR-WB 的数据结构与 PCM 数据有所不同。PCM 格式的音频是原始音频数据,而 AMR-WB 音频则是压缩后的数据。每个 AMR-WB 编码帧包含多个采样点意味着一个 AMR-WB 帧可以

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你好,工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值