2011-01-13 75 views
0

目前我從本網站獲得的代碼(link text)效果很好。在網站上的示例中,它開始錄製10秒鐘,然後立即反向播放音頻。我修改了代碼以便在按下按鈕時開始錄製,但只能讓它錄製10秒鐘然後保存該文件。我希望能夠通過按下一個按鈕開始錄製,然後在不同的按鈕按下時停止錄製。我有一個想法,它可能是一箇中斷的線程對象的wait()方法,但不知道如何實現這一點。我的代碼如下:使用AudioRecord錄製音頻時的停止按鈕

public void onClickRecord(View v){ 
     text.setText("Recording"); 
     Thread thread = new Thread(new Runnable() { 
      public void run() { 
       record(); 
      } 
     }); 

     thread.start(); 

     synchronized(this) { 
     try { 
      wait(10000); //This is the 10 second waiting period while recording 
     } 
     catch (InterruptedException e) { 
     } 
     } 

     isRecording = false; 

     try { 
      thread.join(); 
     } catch (InterruptedException e) { 
     } 

    } 
    public void onClickStop(View v){ 
     //Here is what needs to be implemented to stop the recording. 
    } 

有相當多的代碼,所以我只發佈了我認爲相關的位。如果還有其他需要問的話。

謝謝。

回答