2011-09-08 31 views
1

私はAndroid用の音声録音チュートリアルをたくさん見ましたが、一時停止/再開機能のチュートリアルは見つかりませんでした。一時停止/再開のAndroid音声録音ですか?

いずれにせよ私を導くことはできますか?これはAndroidで可能かどうか 可能であれば、コード例を提供できますか?

答えて

4

AudioRecorderは、一時停止/再開をサポートしていません。停止して再起動する必要があります。

また、あなたは、オーディオファイルを連結する必要があります:Merging pcm audio files

+0

はので、あなたのソリューションに応じて私はそれを停止してから再起動し、保存し、最終的にこれらの両方のファイルをマージし、ファイルを保存する必要がありますか? – UMAR

+0

私はどのファイルフォーマットを使用していませんか? wav、amr? – UMAR

+1

PCMは、ヘッダーやフッターのない生の非圧縮デジタルオーディオデータしか含んでいないため、おそらく最も簡単です。したがって、マージするのが最も簡単です。 –

1
byte fileContent[]=null; 
    FileInputStream ins; 
    FileOutputStream fos = null; 
    try{ 
     fos = new FileOutputStream(getFilename(),true); 
     Log.i(TAG, "OutputFile created"); 
    } 
    catch (FileNotFoundException e1){ 
     // TODO Auto-generated catch block 
     Log.i(TAG, "OutputFile Not created"); 
     e1.printStackTrace(); 
    } 
    for(int i=1;i<listOfFilesToCombine.size();i+=2){ 
     try{ 
      File f=new File(listOfFilesToCombine.get(i)); 
      Log.v("TAG", "File Length:"+f.length()); 
      fileContent = new byte[(int)f.length()]; 
      ins=new FileInputStream(listOfFilesToCombine.get(i)); 
      int r=ins.read(fileContent); 
      Log.v("TAG", "Number Of Bytes Readed:"+r); 
      if(i>1){ 
       byte[] headerlessFileContent = new byte[fileContent.length-6]; 
       for(int j=6; j<fileContent.length;j++){ 
        headerlessFileContent[j-6] = fileContent[j]; 
       } 
       fileContent = headerlessFileContent; 
      } 
      fos.write(fileContent);   
      Log.v("TAG", "File"+i+"is Appended"); 
     } 
     catch (FileNotFoundException e){ 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     catch (IOException e) 
     { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
    try{ 
     fos.close(); 
     Log.v("Record Message", "===== Combine File Closed ====="); 
    } 
    catch (IOException e){ 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
+0

最後のファイルの内容のみを書き込む。どうして? –

関連する問題