AudioRecord使用
AudioRecord 说明
AudioRecord 类的主要功能是让应用能够管理音频资源,以便它们通过此类能够录制声音相关的硬件所收集的声音。录音过程中主要通过 read(byte[], int, int), read(short[], int, int), read(ByteBuffer, int) 中的一个方法去及时获取 AudioRecord 对象的录音数据,在录音前都必须先设定声音数据的存储格式。
AudioRecord 创建
构造函数
AudioRecord)(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)
- audioSource 音频源:物理源音频信号,一般采用麦克风采集 ,参数值为MediaRecorder.AudioSource.MIC
- sampleRateInHz 采样频率:音频的采样频率,采样频率越高,音质越高。常给的实例参数:44100、22050、11025、8000、4000等。
- channelConfig 声道设置:双声道立体声(AudioFormat.CHANNEL_IN_MONO)、单声道(AudioFormat.CHANNEL_IN_STEREO)
- audioFormat 编码制式和采样大小:采集的数据使用 PCM(脉冲编码调制) 编码,参数值为AudioFormat.ENCODING_PCM_16BIT、AudioFormat.ENCODING_PCM_8BIT、AudioFormat.ENCODING_PCM_FLOAT 等。
- bufferSizeInBytes 缓冲区大小。可以从 AudioRecord.getMinBufferSize (int sampleRateInHz,nt channelConfig,int audioFormat) 获取。
AudioRecord 主要方法
- startRecording() 开始录音
- stop() 停止录音
- read(…) 从硬件中读取录音数据
- release() 释放 AudioRecord 资源文件
AudioRecord 实例代码
|
|
录音后的文件为 pcm 文件,需要再次转为 wav 文件。
参考文件