android audio fw 使用audiorecord录音从apk到audiofling的流程
时间: 2023-09-06 22:10:17 浏览: 204
Android利用AudioRecord类实现音频录制程序
Android Audio Framework 主要包括三个部分:AudioRecord、AudioTrack和MediaPlayer。其中,AudioRecord用于录制音频,AudioTrack用于播放音频,MediaPlayer则是用于同时实现音频的播放和录制。
录音的流程:
1. 创建 AudioRecord 对象,通过设置录音参数来初始化。
2. 调用 startRecording() 方法开始录制音频。
3. 不断调用 read() 方法读取录到的音频数据。
4. 将读取到的音频数据写入到 AudioFling 中。
5. 调用 stop() 方法停止录制并释放资源。
下面是具体的示例代码:
```
// 设置录音参数
int audioSource = MediaRecorder.AudioSource.MIC;
int sampleRateInHz = 44100;
int channelConfig = AudioFormat.CHANNEL_IN_MONO;
int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
int bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat);
AudioRecord audioRecord = new AudioRecord(audioSource, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes);
// 开始录制
audioRecord.startRecording();
// 读取音频数据
byte[] buffer = new byte[bufferSizeInBytes];
int readSize = audioRecord.read(buffer, 0, bufferSizeInBytes);
// 写入 AudioFling
AudioTrack audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes, AudioTrack.MODE_STREAM);
audioTrack.play();
audioTrack.write(buffer, 0, readSize);
// 停止录制
audioRecord.stop();
audioRecord.release();
```
以上代码仅为示例,实际使用时需要根据实际情况进行参数设置和错误处理。
阅读全文