| 
 | 
 
在Android中,可以使用MediaRecorder和AudioRecord两个API来实现录音功能,适合不同的需求和场景。 
 
[color=rgba(0, 0, 0, 0.8)]1. 使用MediaRecorder- 简单易用:MediaRecorder是一个高层API,适合基本的录音需求。它集成了录音、编码和压缩功能,支持多种音频格式(如AMR、3GP等)。
 - 录音流程:
 
 
 - 初始化MediaRecorder对象。
 - 设置音频源(如麦克风)和输出格式。
 - 准备并开始录音。
 - 结束录音后释放资源。
 
 
 - MediaRecorder mMediaRecorder = new MediaRecorder();
 
 - mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
 
 - mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
 
 - mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
 
 - mMediaRecorder.setOutputFile("output.3gp");
 
 - mMediaRecorder.prepare();
 
 - mMediaRecorder.start(); // 开始录音
 
 - // 录音结束后
 
 - mMediaRecorder.stop();
 
 - mMediaRecorder.release(); // 释放资源
 
  复制代码 
 
CSDN 
 
 
2. 使用AudioRecord- 专业功能:AudioRecord提供了更底层的音频捕获能力,适合需要实时处理音频的应用,如语音识别或音频编辑。
 - 录音流程:
 
 
 - 创建AudioRecord对象并配置参数(音频源、采样率、声道数等)。
 - 调用startRecording()方法开始录音。
 - 通过read()方法读取音频数据。
 
 
 - int bufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig, audioFormat);
 
 - AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, sampleRate, channelConfig, audioFormat, bufferSize);
 
 - audioRecord.startRecording(); // 开始录音
 
 - byte[] audioData = new byte[bufferSize];
 
 - int readSize = audioRecord.read(audioData, 0, bufferSize); // 读取音频数据
 
 - audioRecord.stop(); // 停止录音
 
 - audioRecord.release(); // 释放资源
 
  复制代码 
 
简书+1 
 
 
3. 选择合适的API- MediaRecorder适合简单的录音需求,易于使用,适合大多数应用场景。
 - AudioRecord适合需要更高控制和实时处理的应用,适合专业开发者使用。
 
通过以上两种方法,您可以根据自己的需求在Android应用中实现录音功能。无论是简单的语音备忘录还是复杂的音频处理,Android都提供了强大的支持。 
 
  
 
 
 
 
  
[color=rgba(0, 0, 0, 0.8)]CSDN 
 
Android 两种录音方式 - CSDN博客 
  
[color=rgba(0, 0, 0, 0.8)]简书 
 
Android 录音实现(AudioRecord) - 简书 
  
查看全部 
 
 
 
 
 
 |   
 
 
 
 |