編輯:當我點擊錄製按鈕第二次(停止錄音)它強制關閉應用程序。該事件的具體代碼:Android - 如何錄製簡單的soundbite?
else if(isrec) {
recorder.stop();
recorder.reset();
recorder.release();
recorder = null;
isrec = false;
Toast.makeText(getApplicationContext(),"No longer recording!",Toast.LENGTH_SHORT).show();
}
(原題): 我有麻煩試圖讓一個應用程序來記錄聲音上的按鈕點擊。我已經包含的代碼...這就是我的祝酒詞告訴我:
- 後setAudioSource
- setOutputFile後
- ISREC是不正確的
- 嘗試...
- 抓IO異常...
任何幫助是極大的讚賞。
private OnClickListener micListener = new OnClickListener() {
boolean isrec = false;
public void onClick(View v) {
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
Toast.makeText(getApplicationContext(),"after setAudioSource",Toast.LENGTH_SHORT).show();
recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
File outputFile = null;
outputFile = getFileStreamPath("output.amr");
recorder.setOutputFile(outputFile.getAbsolutePath());
Toast.makeText(getApplicationContext(),"after setOutputFile",Toast.LENGTH_SHORT).show();
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
if(!isrec) {
Toast.makeText(getApplicationContext(),"isrec is not true",Toast.LENGTH_SHORT).show();
try {
Toast.makeText(getApplicationContext(),"trying...",Toast.LENGTH_SHORT).show();
recorder.prepare();
recorder.start();
isrec = true;
Toast.makeText(getApplicationContext(),"Recording!",Toast.LENGTH_SHORT).show();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(getApplicationContext(),"caught IllegalState Exception...",Toast.LENGTH_SHORT).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(getApplicationContext(),"caught IO Exception...",Toast.LENGTH_SHORT).show();
}
} else if(isrec) {
recorder.stop();
recorder.reset();
recorder.release();
recorder = null;
isrec = false;
Toast.makeText(getApplicationContext(),"No longer recording!",Toast.LENGTH_SHORT).show();
}
}
};
謝謝!我創建了一個文件,它不再給IO異常,所以這是很好的,但現在當我按一下按鈕第二次,我得到一個強制關閉。我更新了原始帖子中的代碼。 – user1212011 2012-02-21 23:02:35
不要做釋放。我有同樣的問題。嘗試刪除釋放,並保持停止和重置 – 2012-02-21 23:49:37