【问题标题】:Android Audio Recording [closed]Android录音[关闭]
【发布时间】:2012-08-11 02:31:24
【问题描述】:

我需要使用 AudioRecord 类录制特定时间的音频。让我们说1秒钟。然后处理音频,当处理完成后,再次录制 1 秒并不断重复,直到我关闭程序。最好的方法是什么?

【问题讨论】:

  • 那个链接告诉你怎么录音,很简单。我正在寻找一种记录时间的方法。你会如何记录某个时间 3 秒,然后再做其他事情?

标签: android


【解决方案1】:
public void recordandprocess()
{        

AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
            44100, AudioFormat.CHANNEL_IN_STEREO,
            AudioFormat.ENCODING_PCM_16BIT, bufferSize);

        recorder.startRecording();

        //executes run() after 1000 msec
        Handler handler = new Handler(); 
        handler.postDelayed(new Runnable() { 
         public void run() { 
                      recorder.stop();
                      recorder.release(); 
                      // do your processing here
                      recordandprocess(); //recursive call to this function to start recording after processing is done
         } 
    }, 1000); 
        .
        .
        .
      return;
}

onCreate() 中调用一次该函数,它将继续递归调用自身,直到您的活动被系统杀死。

如果您想在按下返回或主页按钮时停止递归,请在执行其中的所有代码之前检查函数内部的布尔值。在 onPause() 中将布尔值设置为 false。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 2012-03-18
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多