美文网首页技术干货
Android简单实现录音功能

Android简单实现录音功能

作者: kimballlu | 来源:发表于2016-10-14 10:23 被阅读0次

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

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

    ```

    /** * 描述:录音

    * 作者: kimball

    * E-mail: kimballlu@foxmail.com

    * 日期: 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简单实现录音功能

        本文链接:https://www.haomeiwen.com/subject/ryugyttx.html