Note that there are some explanatory texts on larger screens.

plurals
  1. POUnhandled exception type IOException for audio recorder
    primarykey
    data
    text
    <p>Currently, i'm trying to develop an audio recorder in the android application to be eventually send to the online server and then be multicasted. However before i can carry on, i met error like Unhandled exception type IOException. I have added a ** sign at the part where the error appeared. Please help. </p> <pre><code>package com.example.testproject; import java.io.File; import android.app.Activity; import android.media.MediaPlayer; import android.media.MediaRecorder; import android.os.Bundle; import android.os.Environment; import android.view.View; public class Sound extends Activity { private MediaPlayer mediaPlayer; private MediaRecorder recorder; private String OUTPUT_FILE; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.audio); OUTPUT_FILE=Environment.getExternalStorageDirectory()+"/audiorecorder.3gpp"; } public void buttonTapped(View view){ switch(view.getId()){ case R.id.btnstart: try { beginRecording(); }catch(Exception e){ e.printStackTrace(); } break; case R.id.btnfinish: try { stopRecording(); }catch(Exception e){ e.printStackTrace(); } break; case R.id.btnplay: try { playRecording(); }catch(Exception e){ e.printStackTrace(); } break; case R.id.btnstop: try { stopPlayback(); }catch(Exception e){ e.printStackTrace(); } break; } } private void stopPlayback(){ } private void playRecording() throws Exception{ ditchMediaPlayer(); mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(OUTPUT_FILE); mediaPlayer.prepare(); mediaPlayer.start(); } private void ditchMediaPlayer(){ if(mediaPlayer != null) { try{ mediaPlayer.release(); }catch(Exception e) { e.printStackTrace(); } } } private void stopRecording(){ if(recorder != null) recorder.stop(); } private void beginRecording(){ ditchMediaRecorder(); File outputFile = new File(OUTPUT_FILE); if(outputFile.exists()) outputFile.delete(); recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(OUTPUT_FILE); **recorder.prepare();** recorder.start(); } private void ditchMediaRecorder() { if(recorder != null) recorder.release(); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload