Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在单个目录中存储多个音频文件-Android_Android_Audio_Audio Recording_Android Mediarecorder - Fatal编程技术网

在单个目录中存储多个音频文件-Android

在单个目录中存储多个音频文件-Android,android,audio,audio-recording,android-mediarecorder,Android,Audio,Audio Recording,Android Mediarecorder,我正在尝试构建一个android audio recorder应用程序,在该应用程序中,录音应该存储在我手机内部存储器的一个目录中。 这是我在Android Studio中的代码: File AudioDir=new File("/sdcard/Audiofiles/"); AudioDir.mkdir(); String filename="recording.mp3"; output = new File(AudioDir.getAbsolutePath(), filename); ou

我正在尝试构建一个android audio recorder应用程序,在该应用程序中,录音应该存储在我手机内部存储器的一个目录中。

这是我在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++;

       }
AudioDir=新文件(“/sdcard/Audiofiles/”);
AudioDir.mkdir();
文件输出=null;
布尔标志=假;
字符串文件名=null;
File File[]=AudioDir.listFiles();

对于(int i=0;i您的文件被覆盖,因为它们具有相同的名称。您必须为保存的每个文件提供不同的名称,例如“录制”+时间戳+“.mp3”.

Plz建议解决新问题的方法。您没有在文件名中使用时间戳。通过使用时间戳,可以保证文件名是唯一的,因此不会覆盖任何文件。请使用filename=“recording”+i+“.mp3”代替filename=“recording”+new Date().toString()+“.mp3”;