AudioRecord录制音频的基本步骤
01 Nov 2013采样定理,又称香农采样定理,奈奎斯特采样定理:
在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中最高频率fmax的2倍时(fs.max >= 2fmax),采样之后的数字信号完整地保留了原始信号中的信息。 一般实际应用中保证采样频率为信号最高频率的5~10倍。要使实信号采样后能够不失真还原,采样频率必须大于信号最高频率的两倍。
//设置声音采样率
int frequency = 8000;
//设置声道
int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;
//设置声音编码格式
int audioEncoding = AudioFormat.ENCODING_PCM_16BIT;
//获取AudioRecord的最小缓冲区大小
int minSize = AudioRecord.getMinBufferSize(frequency,
channelConfig,
audioEncoding);
//录制缓冲区
short audioBuffer = new short[BUFSZ];
AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
frequency,
channelConfig,
audioEncoding,minSize);
//开始录制
audioRecord.startRecording();
while(true) {
audioRecord.read(audioBuffer, 0, BUFSZ);
}