我正在尝试构建一个Android录音机应用程序,其中录音应存储在手机内部存储设备的目录中。
这是我在Android Studio中的代码:
File AudioDir=new File("/sdcard/Audiofiles/");
AudioDir.mkdir();
String filename="recording.mp3";
output = new File(AudioDir.getAbsolutePath(), filename);
output.createNewFile();
此代码将单个音频文件存储在Audiofiles
文件夹中,并覆盖新的录音
我正在获取名为recording.mp3
的最新录音。
旧的已经消失了。
我希望将多个录音存储在同一目录中。 我试过编码,但找不到任何成功。请帮忙。
这是我写的代码:
AudioDir=new File("/sdcard/Audiofiles/");
AudioDir.mkdir();
File output=null;
Boolean flag=false;
String filename=null;
File file[]=AudioDir.listFiles();
for(int i=0;i<file.length;i++)
{
if (file[i].equals(filename))
flag=true;
else
flag=false;
}
if(flag==true)
{
System.out.println(i +" :flag==true");
filename="recording"+i+".mp3";
output = new File(AudioDir.getAbsolutePath(), filename);
output.createNewFile();
}
else if(flag==false)
{
System.out.println(i +" :flag==false");
filename="recording"+i+".mp3";
output = new File(AudioDir.getAbsolutePath(), filename);
output.createNewFile();
i++;
}
现在,会发生的是,我在文件夹中获取了具有唯一名称的文件..很酷.. !! 但是,一旦我关闭应用程序,再次打开它并录制音频,之前的文件会被覆盖 ..我不希望这种情况发生。 我需要所有文件..我该怎么办?
答案 0 :(得分:4)
您的文件会被覆盖,因为它们具有相同的名称。您必须为每个保存的名称提供不同的名称,例如“录制”+时间戳+“.mp3”。