Android简单实现录音功能

最近项目APP遇到需要添加录音功能,由于我是Java,半路出道做Android,所以第一想到的就是百度...

然而现实是残酷的,不断整理,看文档,总结后写了个工具类,代码如下:

```

/** * 描述:录音

* 作者: kimball

* E-mail: [email protected]

* 日期: 2016-10-13 上午9:09:31

*/

```

public class RecorderUtil {

// 录音

private MediaRecorder recorder;

private Boolean bool = false;

private String path;

//初始化

private void init() {

recorder.setAudioSource(MediaRecorder.AudioSource.MIC); // 音频输入源

recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB); //设置输出格式

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB); //设置编码格式

path = FileUtil.getStoragePath()+"/db_demo/AudioFrequency/" + System.currentTimeMillis()+".amr";

recorder.setOutputFile(path); //设置音频保存路径

}

/**

* 开始录制音频

*/

public void startRecord() {

if( recorder == null ){

recorder = new MediaRecorder();

this.init();

}

if( bool == false ) {

try {

recorder.prepare();

recorder.start(); // 开始录制

Toast.makeText(TntApplication.context, "开始录音", Toast.LENGTH_LONG).show();

bool = true;

} catch (IOException e) {

Toast.makeText(TntApplication.context, "录制音频出现异常", Toast.LENGTH_LONG).show();

}

} else if(bool) {

Toast.makeText(TntApplication.context, "当前正在录制音频", Toast.LENGTH_LONG).show();

}

}

/**

* 停止录制,资源释放

*/

public void stopRecord(){

if(recorder != null){

recorder.stop();

recorder.release();

recorder = null;

Toast.makeText(TntApplication.context, "已经结束,文件保存在" + path, Toast.LENGTH_LONG).show();

bool = false;

}

}

}


使用:

RecorderUtil recorder = new RecorderUtil();

//开始录音

recorder.startRecord();

//停止录音

recorder.stopRecord();

你可能感兴趣的:(Android简单实现录音功能)