2011-09-07 62 views
0

感謝以前的回覆如何將具體位置提供給語音記錄器

我正在使用android內置語音記錄器進行應用。我想將聲音存儲在特定位置。但每當我在內置錄音機中使用android(使用intent動作),它會將所有語音保存到默認文件夾中。無論如何要自定義位置來保存語音。如果有人有想法請指導我..

回答

0

從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在創建代碼, 所以...我們無法自定義保存語音的位置。

0

試試這個代碼:

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); 
+0

它不工作。 – meizilp

+0

最後一行缺少代碼:startActivityForResult(intent,1); –