Android 音频开发 目录
项目地址
上一篇主要写了AudioRecord实现音频录制的开始和停止,AudioRecord并没有暂停和恢复播放功能的API,所以需要手动实现
一、解决办法
思路很简单,现在可以实现音频的文件录制和停止,并生成pcm文件,那么暂停时将这次文件先保存下来,恢复播放后开始新一轮的录制,那么最后会生成多个pcm音频,再将这些pcm文件进行合并,这样就实现了暂停/恢复的功能了。
二、实现
实现的重点在于如何控制录音的状态
/**
* @author zhaolewei on 2018/7/10.
*/
public class RecordHelper {
private volatile RecordState state = RecordState.IDLE;
private AudioRecordThread audioRecordThread;
private File recordFile = null;
private File tmpFile = null;
private List files = new ArrayList<>();
public void start(String filePath, RecordConfig config) {
this.currentConfig = config;
if (state != RecordState.IDLE) {
Logger.e(TAG, "状态异常当前状态: %s", state.name());