我知道如何录制语音如下代码
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中保存多个语音在同一路径请帮助我
答案 0 :(得分:3)
文件被覆盖,因为MediaRecorder
对象每次都获得相同的输出路径。您每次都需要为输出文件提供不同的名称。
一种好方法是在文件名中使用一天中的日期/时间。
一个简单的例子可以是:
String path = android.os.Environment.getExternalStorageDirectory()
+ "/Record/test_" + System.currentTimeMillis() + ".3gp";