記録されたデータを短い配列に読み込もうとしています。いっぱいになるまで録音と読みを続けたいです。私のコード: http : //pastebin.com/r6yuPn82残念ながら、startRecordingメソッドを呼び出した後にアプリケーションがクラッシュします。エラー: http: //pastebin.com/9jwrPLNc 修正を手伝ってもらえますか?
2209 次
2 に答える
3
AudioRecord が正しく初期化されていません。
「原因: java.lang.IllegalStateException: startRecording() が初期化されていない AudioRecordで呼び出されました。」
これをマニフェストに入れます:
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
于 2012-11-29T07:59:04.903 に答える
1
マイクからバッファに読み取る前に、録音していることを確認してください。
次のように言っているこの投稿の答えを参照してください:
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 に答える