建议阅读:Android音视频架构与学习路线图
AudioRecord相较与MediaRecorder拥有更高的灵活性,它的录制输出是音频的原始数据。在录制之前,AudioRecord需要配置几个参数。
public AudioRecord(int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)
分别是
audioSource: 输入源,
sampleRateInHz:音频采样率,
channelConfig: 声道数,
audioFormat: 编码制式和采样大小, android支持的采样大小16bit 或者8bit。主流的采用16bit
bufferSizeInBytes:录制数据的缓冲区大小
前面几个参数,在音频的原理一文中都有解释,不懂的可以看下,我们现在要来看下bufferSizeBytes这个参数,一般我们不自己设它的值,而是通过系统提供的方法来获取
mMinBufferSize = getMinBufferSize(sampleRate, channel, audioFormat)
配置完成后调用 startRecording() 开始录制,然后不断的从缓冲区中取数据写入文件输出流中,下面是具体完整代码
package com.codeforfree.cffaudiorecorddemo;
import android.c

本文深入解析Android AudioRecord组件,探讨其灵活性及应用。AudioRecord允许开发者直接操作音频原始数据,提供音频采样率、声道数等配置选项。文章提供了一个完整的录音示例,包括初始化、开始、停止录音过程,以及如何将PCM数据转换为WAV格式。
最低0.47元/天 解锁文章
8114





