我在Android中使用AudioRecord类制作应用程序。 有人可能已经问了同样的问题..但是,我很欣赏任何见解。
我正在录制“声音”,如下所示:
recorder.startRecording();
Thread.sleep(10000);
recorder.read(buffer, 0, bufferSize);
recorder.stop();
“recorder”是“AudioRecord”类的一个实例。
我可以使用此代码获取数据,但是,我不确定通过这种方式收集的数据是否可靠。
我对此代码的意图是停止程序&录制声音10秒钟。
所以,问题是这种方法是否可以获得正确的语音数据?
谢谢,
答案 0 :(得分:1)
使用AudioRecord
时,您需要不断调用read
以排空填充记录缓冲区。
http://developer.android.com/reference/android/media/AudioRecord.html#read(byte[], int, int)
如果您没有阅读,缓冲区可能会超限,然后您将丢失语音数据。