2012-02-26 19 views
0

私はAudioRecordを使用して物事を正しく取得するのに苦労しています。AudioRecordの問題点

基本的に私のやりたいことは、私のAndroid搭載デバイスのオーディオからめったに記録しないことです。 オーディオソースから連続したバイトストリームを取得する必要はありませんが、5分ごとにバッファを供給する必要があります。

問題は、自分のプログラムで使用するメモリが記録するたびに増えていることです(メモリの問題を調査するためにDDMSを使用しました)。この問題をよりよく理解するために、コードを次の行に減らしました。

buffersizebytes = AudioRecord.getMinBufferSize(SAMPPERSEC, 
      channelConfiguration, audioEncoding); 
    tabbAudioBuffer = new byte[buffersizebytes]; 

    setContentView(R.layout.main); 

    audioRecord = new AudioRecord(
      android.media.MediaRecorder.AudioSource.MIC, SAMPPERSEC, 
      channelConfiguration, audioEncoding, buffersizebytes); 

    int i=1000; 
    while(i-->0) { 
     audioRecord.startRecording(); 
     audioRecord.stop(); 
    } 

    audioRecord.release(); 
    audioRecord = null; 

問題を手伝ってもらえるかどうか教えてください。おかげさまで

+0

なぜ、audioRecordオブジェクトを1000回開始して停止しているのですか?なぜですか? – aProgrammer

答えて

0

私は同様の問題がありました。あなたが何かを掘り起こすことができれば、本当に興味があります。 コードの考え方は、startRecording()を呼び出して何かをした後にメモリの増加を表示してから、stop() ...何度も表示することだと思います。