【问题标题】:How to give specific location to voice recorder如何为录音机提供特定位置
【发布时间】:2011-12-26 23:36:16
【问题描述】:

感谢之前的回复

我正在使用 android 内置录音机做应用程序。我想将声音存储在特定位置。但每当我在内置录音机中使用 android(使用意图操作)时,它会将所有语音保存到默认文件夹中。反正有没有自定义位置来保存声音。如果有人有想法请指导我..

【问题讨论】:

    标签: android


    【解决方案1】:

    从com.android.soundrecorder.Recorder.java,我们可以找到:

     public void startRecording(int outputfileformat, String extension) {
        if (mSampleFile == null) {
            File sampleDir = Environment.getExternalStorageDirectory();
            if (!sampleDir.canWrite()) // Workaround for broken sdcard support on the device.
            sampleDir = new File("/sdcard/sdcard");
            try {
                mSampleFile = File.createTempFile(SAMPLE_PREFIX, extension, sampleDir);
            } catch (IOException e) {
                setError(SDCARD_ACCESS_ERROR);
                return;
            }
            ....
        }
    }
    

    mSampleFile 是在代码中创建的, 所以...我们无法自定义保存声音的位置。

    【讨论】:

      【解决方案2】:

      试试这个代码:

          File root = new File(Environment.getExternalStorageDirectory()
                      + File.separator +   "DemoApplication"+File.separator+"Media"+File.separator+"audio"+File.separator);
              if(root.exists())
                  root.delete();
              root.mkdirs();
          File voiceDirectory = new File(root, String.format("AudioFile_%d.amr",         System.currentTimeMillis()));
      
              outputFileUri = Uri.fromFile(voiceDirectory);
      
              intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
              intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
      

      【讨论】:

      • 最后缺少的代码行:startActivityForResult(intent, 1);
      猜你喜欢
      • 2017-09-26
      • 2017-09-03
      • 1970-01-01
      • 2017-12-08
      • 2014-09-22
      • 2012-06-15
      • 2016-12-27
      • 1970-01-01
      • 2018-11-28
      相关资源
      最近更新 更多