2016-03-04 86 views
-1

我正在嘗試構建一個android錄音機應用程序,其中的音頻錄製內容應存儲在我的手機內部存儲器中的目錄中。在單個目錄中存儲多個音頻文件 - 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++; 

     } 

現在發生的事情是,我得到的文件與文件夾中唯一的名稱..酷.. !! 但是,一旦我關閉了應用程序,並再次打開並記錄音頻,以前的文件得到覆蓋 ..我不希望發生這種情況。 我需要所有的文件..我該怎麼辦?

回答

4

您的文件被覆蓋,因爲它們具有相同的名稱。您必須爲每個保存的名稱提供不同的名稱,例如「錄製」+時間戳+「.mp3」。

+0

Plz建議解決新問題。 – Karthik

+0

您沒有在文件名中使用時間戳。通過使用時間戳,您可以保證唯一的名稱,因此您的任何文件都不會被覆蓋。而不是filename =「recording」+ i +「。mp3」;請使用filename =「recording」+ new Date()。toString()+「.mp3」; –

+0

哦..好吧..我會試試看.. – Karthik

相關問題