2012-05-11 66 views
0

之後,在android中重新使用記錄對象我正在製作一個應用程序,在該應用程序中,我會生成聲音並記錄此聲音,評估此錄音並重新執行此操作,直至聲音良好。在stop()被稱爲

我的問題是似乎不可能重新使用AudioRecord對象。此錄音在一個線程中運行。 當觸發事件onMarkerReached我叫myAudioRecord.stop(); 和評估後,我再次啓動它是這樣的:

if(recorderThread == null) { 
     recorderThread = new Thread(recorder.runRecorderThread); 
    } 
    recorderThread.start(); 

但記錄僅稱爲第一次,這是excecuted。

+0

你能告訴我們你提到的相關代碼嗎?關於我的頭頂,我可以建議在這裏刪除一些站點,比如檢查'== NULL'以防你在假設什麼? –

回答

0

我無法重新開始錄製的原因是因爲NotificationProperty。 我有一個布爾「isReading」,當它做我叫:

public void setIsReading(boolean isReading) { 
    pcs.firePropertyChange("isReading", this.isReading, isReading); 
    this.isReading = isReading; 
} 

這樣:

while(isReading) { 
    AudioRecord.read(..); 
} 

因爲我第一次觸發中的firePropertyChange停止之前,它採空閱讀。

0

也許你從來沒有將recorderThread設置爲null