此問題已被問到,但無法找到我的解決方案。嘗試在setOnTouchListener上錄製音頻時,應用程序崩潰
我在做什麼,MotionEvent.ACTION_DOWN
的OnTouchListener
我開始錄製音頻,並在MotionEvent.ACTION_UP
我停止錄音。
長時間觸摸該圖標時,它工作正常,但onclick
應用程序崩潰。 這裏是我的
audio.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(Chat.this, "You Have to hold the Button for audio recording.", Toast.LENGTH_LONG).show();
}
});
audio.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
MediaRecorderReady();
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else if (event.getAction() == MotionEvent.ACTION_UP) {
if (mediaRecorder != null) {
mediaRecorder.stop();
}
}
return true;
}
});
public void MediaRecorderReady() {
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
mediaRecorder.setOutputFile(AudioSavePathInDevice);
}
這裏是我的問題,當我點擊該按鈕的應用程序崩潰
在此處發佈錯誤日誌 – UltimateDevil
java.lang.RuntimeException:stop failed。在android.media.MediaRecorder.stop(本地方法) – manjari
請將完整的logcat和檢查,當你按onclick onTouch稱爲ActionDown和ActionUp也被稱爲。 –