代码如下,可以调用系统录音,但是无法保存到指定文件夹,只能放在系统自己的录音文件夹下,求帮助 public void onClick(View v) {
                // 创 建 File 对 象, 用 于 存 储 录音后 的 文件                videoname=new Date().getTime()+".mp3";                File outputVideo = new File(getActivity().getExternalFilesDir("video"), videoname);
                Context context=getContext();
                String path=context.getExternalFilesDir("video").getPath();
                if (Build.VERSION.SDK_INT >= 24) {
                    videoUri = FileProvider.getUriForFile(getActivity(), "com.example.i_space.fileprovider", outputVideo);
                } else {
                    videoUri = Uri.fromFile(outputVideo);
                } // 启 动 相 机 程 序
               Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
               intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri);
                //intent.addFlags(Inten.FLAG_GRANT_READ_URI_PERMISSION);
                          //  intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
                      startActivityForResult(intent, TAKE_VIDEO);
            }});

解决方案 »

  1.   

    只能在录音完成后操作
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
            super.onActivityResult(requestCode, resultCode, intent);        if (resultCode == RESULT_OK && requestCode == TAKE_VIDEO && intent.getData() != null) {
                String sourcePath = FileUtil.getPath(this, intent.getData()); // 获取绝对路径
                String videoname = new Date().getTime() + ".mp3";
                File outputVideo = new File(getExternalFilesDir("video"), videoname);
                File sourceF = new File(sourcePath);
                try {
                    boolean success = sourceF.renameTo(outputVideo); // 重写到新路径
                    LogUtils.d("success:" + success);
                } catch (Exception e) {
                    Toast.makeText(this, "Error:" + e.getMessage(), Toast.LENGTH_LONG).show();
                }
            }
        }
      

  2.   

    FileUtile这个工具类写在代码里会报错,然后我通过URI获取路径,调试之后不成功,下面是调试结果,请大佬分析分析
      

  3.   

    FileUtile这个工具类写在代码里会报错,然后我通过URI获取路径,调试之后不成功,下面是调试结果,请大佬分析分析
    是不是没有import啊????????????????
      

  4.   

    这个类是自己写的,你自己新建个类,从uri获取绝对路径可以参考这个链接