Media Recorder を使用してオーディオ ファイルを録音し、sd card. デバッガーは、行recorder.start()がIllegalStateException. コードは android dev web サイトから取得され、唯一の変更はファイル名とパスです。
デバッグ メニューでエラーに到達すると、次のようViewなクラスが表示されます。
ソースが見つかりません。ソースの添付ファイルには、View.class ファイルのソースが含まれていません。下の [添付ソースの変更] をクリックして、ソースの添付ファイルを変更できます。
canRecord は、boolean最初は true に設定されており、関数で呼び出されるメソッドを決定しonClickます。その機能は働いています。
@SuppressLint("SimpleDateFormat")
private void record(){
    SimpleDateFormat timeStampFormat = new SimpleDateFormat("MM/dd/yyyy");
    String audio_path = Environment.getExternalStorageDirectory() + "/resources/resources/WI1/";
    String fileName = username +"-"+ timeStampFormat.format(new Date())+".mp4"; 
    audio_button.setText("Recording");
    recorder = new MediaRecorder();
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setOutputFile(audio_path+fileName);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    try {
        recorder.prepare();
    } catch (IOException e) {
        Toast.makeText(this, "Can't record audio at this time", Toast.LENGTH_SHORT).show();
        e.printStackTrace();
    }
    canRecord = false;
    recorder.start();
} // record
これは記録停止機能ですが、この時点までには至っていません。
private void stopRecording(){
    audio_button.setText("Attach Audio");
    recorder.stop();
    recorder.release();
}
最後に、次のアクセス許可をマニフェストに追加しました。
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
どうすればこれを解決できますか? ありがとう!