android - 有意调用录音机并将语音保存在SD卡中

标签 android audio android-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中创建并存在。请帮助

最佳答案

通过意图进行录音始终会将录制的文件保存到sdcard的根目录(或默认路径)。另外,某些型号的手机可能不支持此意图。

如果要将录制的文件保存到自定义路径,则必须直接使用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());
   }
}

关于android - 有意调用录音机并将语音保存在SD卡中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32432058/

相关文章:

audio - 如何转换音频并跟踪所有格式的元数据

android - 如何将手机摄像头拍摄的图像从一个 Activity 移动到另一个 Activity 的 ImageView ?

无法识别 android XML 文件

flash - 在非IE浏览器上的Flash 9中声音消失了

audio - 多个敌人拥有自己的音频源和剪辑,使我的游戏的音频滞后

android - 如何检查 putExtra 是否存在?

javascript - 如何在javascript中对图像进行base64编码

android - 获取videoview下播放视频的进度时间?

java - 我想将整数,字符串,对象, double ,位图,HashMap从一个 Activity 发送到android中的另一个 Activity

android - 返回时如何在android中获取输入数据