Android音视频系列(六):PCM音频的存储格式

时间:2024-04-03 07:39:03

前言

我们已经了解了如何使用AudioRecord录制pcm音频,所以我们要了解pcm数据的存储格式,才能对其进行转换。

正文

首先看一下图片:
Android音视频系列(六):PCM音频的存储格式
以上图为例,在初始化AudioRecord的时候可以设置录制的格式:

public static final int ENCODING_PCM_16BIT = 2;
public static final int ENCODING_PCM_8BIT = 3;

其中最常用的是ENCODING_PCM_16BIT,在网上查看一下很多的资料,ENCODING_PCM_8BIT已经处于半废弃状态,随着科技的进步,就连小孩子的玩具播放的音频都是16位的。

另外一个参数是声道数:

public static final int CHANNEL_IN_MONO = CHANNEL_IN_FRONT; // 单声道
public static final int CHANNEL_IN_STEREO = (CHANNEL_IN_LEFT | CHANNEL_IN_RIGHT); // 双声道

双声道会以LRLRLR的格式保存左右声道的内容,组合成一个完成的样本。

从上图我们可以总结:8个比特的位置,8位单声道可以存储8个样本,8位双声道能存储个样本,16位双声道能存储4个,16位双声道只能存储2个。

总结

今天的内容非常的简单,主要是为了下一篇做准备,下一篇我们会实际操作:pcm单声道和双声道的转换。