前言:在Android开发中,实现录音的功能一般有三种方式:1.调用系统的录音器 2.使用MediaRecord类实现录音功能 3.使用AudioRecord类。在这里我就不讲前两种方式的实现了,大家可以在网上查找相关的内容。这篇文章主要讲的是使用AudioRecord实现声音采集。
如果你不需要对采集到的数据进行处理的话,就可以选择使用前面两种方式。但是如果你需要将采集到的数据转化为PCM格式,AAC格式,MP3格式等,就需要使用AudioRecord类进行采集了。
在使用这个类之前我们先要了解几个概念:
(1) 采样率
采样就是把模拟信号转化为数字信号的过程。
我们可以把采样率看作是上图中,每条红线的间隔,间隔越密集的时候,采样率就越高,音频的音质就越高。
在Android手机设备中,44100kHZ是可以兼容全部手机的采样率。
(2)量化精度(位宽)
在上图中,每个红点表示为量化精度,常见的数据类型大小是,4bit,8bit,16bit,32bit等。
(3)声道数
表示声音录制时音源数量或播放时相应的扬声器数量。单声道(Mono)和双声道(Stereo)比较常见