Android媒体录制器 - 以片段录制音频

时间:2014-09-28 20:14:17

标签: android mediarecorder

我有一个以amr_nb格式编码的应用程序,并以amr格式输出文件。我希望将录制的文件分成一系列每个2 KB的amr文件。对如何实现这一目标一无所知。

这是单击“录制按钮”时调用的函数

private void startRecording() {
    recorder = new MediaRecorder();

    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    recorder.setOutputFile(getFilename());

    recorder.setOnErrorListener(errorListener);
    recorder.setOnInfoListener(infoListener);

    try {
        recorder.prepare();
        recorder.start();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

这是单击“停止按钮”时调用的方法,

private void stopRecording() {
    if (null != recorder) {
        recorder.stop();
        recorder.reset();
        recorder.release();

        recorder = null;
    }
}

1 个答案:

答案 0 :(得分:0)

http://developer.android.com/reference/android/media/MediaRecorder.html#setMaxFileSize(long)

然后将侦听器注册到在达到最大文件大小时获得回调的MediaRecorder,然后设置MediaRecorder以记录下一个文件。请注意,这不会产生一系列无间隙文件(好的?)。