0
感謝以前的回覆如何將具體位置提供給語音記錄器
我正在使用android內置語音記錄器進行應用。我想將聲音存儲在特定位置。但每當我在內置錄音機中使用android(使用intent動作),它會將所有語音保存到默認文件夾中。無論如何要自定義位置來保存語音。如果有人有想法請指導我..
感謝以前的回覆如何將具體位置提供給語音記錄器
我正在使用android內置語音記錄器進行應用。我想將聲音存儲在特定位置。但每當我在內置錄音機中使用android(使用intent動作),它會將所有語音保存到默認文件夾中。無論如何要自定義位置來保存語音。如果有人有想法請指導我..
從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在創建代碼, 所以...我們無法自定義保存語音的位置。
試試這個代碼:
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);
它不工作。 – meizilp
最後一行缺少代碼:startActivityForResult(intent,1); –