我正在尝试将记录的数据读入短数组。我想继续记录和阅读,直到写满为止。我的代码: http://pastebin.com/r6yuPn82 不幸的是,应用程序在调用 startRecording 方法后崩溃。错误: http ://pastebin.com/9jwrPLNc 请问您能帮我修复它吗?
问问题
2209 次
2 回答
3
您的 AudioRecord 未正确初始化。
“由:java.lang.IllegalStateException:在未初始化的 AudioRecord上调用 startRecording() 引起。”
把它放在你的清单中:
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
于 2012-11-29T07:59:04.903 回答
1
在从 MIC 读取到缓冲区之前,请确保您正在录音。
请参阅此帖子中的答案,内容如下:
short[] audioData = new short[bufferSize];
int offset =0;
int shortRead = 0;
//start tapping into the microphone
audioRecored.startRecording();
//start reading from the microphone to an internal buffer - chuck by chunk
while (offset < bufferSize)
{
shortRead = audioRecored.read(audioData, offset ,bufferSize - offset);
offset += shortRead;
}
//stop tapping into the microphone
audioRecored.stop();
于 2013-03-05T12:12:01.347 回答