2012-05-11 7 views
0

私はサウンドを生成してこのサウンドを記録するアプリケーションを作っています。このサウンドを評価し、サウンドが良いまでこれをやり直してください。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

recorderThreadnullに設定していない可能性がありますか?

関連する問題