如何在android的SD卡中保存多个录音语音?

如何在android的SD卡中保存多个录音语音?,android,android-sdcard,Android,Android Sdcard,我知道如何按照下面的代码录制语音 String path = android.os.Environment.getExternalStorageDirectory()+"/Record/test.3gp"; boolean exists = (new File(android.os.Environment.getExternalStorageDirectory()+"/Record/")).exists(); if(!exists)

我知道如何按照下面的代码录制语音

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);”中给出了输出路径。它工作正常,但我的问题是,如果我再次录制,它将覆盖相同的路径,因此请帮助我如何在SD卡的相同路径中保存多个语音。请帮助我文件被覆盖,因为
MediaRecorder
对象每次都获得相同的输出路径。每次都需要为输出文件提供不同的名称

一个好方法是在文件名中使用日期/时间

一个简单的例子可以是:

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

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

一个好方法是在文件名中使用日期/时间

一个简单的例子可以是:

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

工作正常,但我想给出名称,而不是test_“+System.currentTimeMillis()+”.3gp“通过对话框用户输入名称,当用户单击停止录制按钮时,它应更新为SD卡。请帮助我,您可以在录制开始之前提示用户输入文件名。这很好,那么在单击停止录制时是否可以给出文件名否,您必须在调用
prepare()
之前指定文件名。”。但您可以采取另一种方法:每次都记录在同一个文件中(就像您正在做的那样),然后询问用户名称,然后重命名该文件。工作正常,但我想给出名称,而不是test_“+System.currentTimeMillis()+”。3gp“通过对话框用户输入名称,当用户单击停止录制按钮时,它应更新为SD卡。请帮助我,您可以在录制开始之前提示用户输入文件名。这很好,那么在单击停止录制时是否可以给出文件名否,您必须在调用
prepare()
之前指定文件名。”。但您可以采取另一种方法:每次都记录在同一个文件中(就像您正在做的那样),然后询问用户名称,然后重命名该文件。