我想使用媒体录像机录制并保存音频文件到sd card
。调试器显示行recorder.start()
产生了一个IllegalStateException
。该代码取自android dev网站,唯一的变化是文件名和路径。媒体录像机上的非法状态异常
当我到达在调试菜单中的错误,我所示的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" />
我该如何解决这个问题?谢谢!