我尝试使用intent调用默认录音机并将录音路径发送到录音机,而不是在sdcard中保存语音。我使用此代码:
File audioFile = new File(Environment.getExternalStorageDirectory().getPath() + "/nabege" + File.separator + "audio"
+ File.separator + System.currentTimeMillis() + ".amr");
Uri audioUri = Uri.fromFile(audioFile);
record_audio_Intent.putExtra(MediaStore.EXTRA_OUTPUT, audioUri);
startActivityForResult(record_audio_Intent, 0);
此应用在默认路径中保存语音。此路径(nabege / audio)在sdcard中创建并存在。请帮助
答案 0 :(得分:2)
通过意图录音始终将录制的文件保存到SD卡的根目录(或默认路径)。此外,某些手机型号可能不支持此意图。
如果要将录制的文件保存到自定义路径,则必须直接使用MediaRecorder。
像这样:
MediaRecorder recorder = null;
private void startRecording(File file) {
if (recorder != null) {
recorder.release();
}
recorder = new MediaRecorder();
recorder.setAudioSource(AudioSource.MIC);
recorder.setOutputFormat(OutputFormat.THREE_GPP);
recorder.setAudioEncoder(AudioEncoder.AMR_WB);
recorder.setOutputFile(file.getAbsolutePath());
try {
recorder.prepare();
recorder.start();
} catch (IOException e) {
Log.e("giftlist", "io problems while preparing [" +
file.getAbsolutePath() + "]: " + e.getMessage());
}
}