android_2014_li 2015-05-19 03:17 采纳率: 50%
浏览 1274
已采纳

intent 录制语音,不知道为什么不可以重新指定文件存放位子

下面的图片就是我遇到的问题,录制的语音只在它默认位置,不在我指定的位子,求大神帮忙?图片)

  • 写回答

1条回答 默认 最新

  • zzkjliu 2015-05-19 09:05
    关注

    如何调用系统录音机录音并保存至指定文件?
    //创建文件夹
    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();
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?