我需要使用 AudioRecord 类录制特定时间的音频。让我们说1秒钟。然后处理音频,当处理完成后,再次录制 1 秒并不断重复,直到我关闭程序。最好的方法是什么?
问问题
766 次
1 回答
0
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()
.
于 2012-08-15T04:06:00.550 回答