我想在我的应用中使用mediarecorder
来录制语音。
我完全按照http://developer.android.com/reference/android/media/MediaRecorder.html中的描述进行了操作,但exception
方法总是抛出start()
。
代码应该没问题,因为我也尝试了谷歌中名为Mediarecorder
的代码示例,但我得到了同样的exception:
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(mFileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(TAG, "prepare() failed");
}
mRecorder.start();
我已将权限(android.permission.WRITE_EXTERNAL_STORAGE and android.permission.RECORD_AUDIO
)添加到AndroidManifest.xml,
,然后在我连接的智能手机上启动应用。
有人知道可能导致Exception
的原因以及必须做什么吗?
答案 0 :(得分:1)
感谢您的评论。我能够解决这个问题。我实际上缺少mRecorder.release(),所以似乎启动方法被调用了两次。