使用MediaRecorder进行录音

来源:互联网 发布:项目中多线程编程案例 编辑:程序博客网 时间:2024/05/16 09:36
public class Recorder {    private static final int MAX_LENGTH=1000*60*3;//3分钟    private MediaRecorder recorderl;    public Recorder()    {        initial();    }    private void initial() {        recorderl=new MediaRecorder();        String path= Environment.getExternalStorageDirectory().getAbsolutePath()+"/test.amr";        recorderl.setAudioSource(MediaRecorder.AudioSource.MIC);        recorderl.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);        recorderl.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);        recorderl.setMaxDuration(MAX_LENGTH);        recorderl.setOutputFile(path);    }    public void startRecorder() {        initial();        try {            recorderl.prepare();        } catch (IOException e) {            e.printStackTrace();        }        recorderl.start();    }    public void stopRecorder() {        if(recorderl!=null)        {            recorderl.stop();            recorderl.release();        }        recorderl=null;    }    public void startRecorderVoice()    {        handler.postDelayed(run,200);    }    public void stopRecorderVoice()    {        handler.removeCallbacks(run);    }    private Handler handler=new Handler();    private Runnable run=new Runnable() {        @Override        public void run() {            Log.i("view","test"+recorderl.getMaxAmplitude());            handler.postDelayed(run,200);        }    };}
0 0
原创粉丝点击