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" />
どうすればこれを解決できますか? ありがとう!