如何在android中的sdcard中保存多个录音?

时间:2012-10-05 11:02:37

标签: android android-sdcard

我知道如何录制语音如下代码

String path = android.os.Environment.getExternalStorageDirectory()+"/Record/test.3gp";



boolean exists = (new File(android.os.Environment.getExternalStorageDirectory()+"/Record/")).exists();

                if(!exists)
                {
                    newFile(android.os.Environment.getExternalStorageDirectory()+"/Record/").mkdirs();

                }



MediaRecorder recorder = new MediaRecorder();       


recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

                         recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

                recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

                recorder.setOutputFile(path);
                try {
                    recorder.prepare();
                    recorder.start();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

在这段代码中,我在“recorder.setOutputFile(path);”中给出了输出路径。它的工作正常,但我的问题是,如果我再次记录它将覆盖相同的路径,所以请帮助我如何在sdcard中保存多个语音在同一路径请帮助我

1 个答案:

答案 0 :(得分:3)

文件被覆盖,因为MediaRecorder对象每次都获得相同的输出路径。您每次都需要为输出文件提供不同的名称。

一种好方法是在文件名中使用一天中的日期/时间。

一个简单的例子可以是:

String path = android.os.Environment.getExternalStorageDirectory()
    + "/Record/test_" + System.currentTimeMillis() + ".3gp";