问题描述
解决方案
如何调用系统录音机录音并保存至指定文件?
//创建文件夹
File file = new File(Environment.getExternalStorageDirectory().getPath()
+"/myData/my_Image/");
if(!file.exists()){
file.mkdirs();
}
//指定保存路径
final String filePath = Environment.getExternalStorageDirectory().getPath()
+ "/myData/my_Image/" + makeFileName() + ".amr";
//makeFileName为获取时间并转换为文件名的一个函数
File imageFile = new File(filePath);
Uri imageFileUri = Uri.fromFile(imageFile);
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageFileUri);
startActivityForResult(intent,0);
为什么录音后的文件没有保存至我指定的文件,而是保存至系统自带的audio文件夹中呢??
调用系统照相机、摄像机用这种方式都可以保存至指定文件夹,问什么调用录音就不行呢??
MediaRecorder mRecorder;
private void startRecording() {
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(getOutFile().getPath());
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
}
mRecorder.start();
}