我正在通过媒体播放器保存一些录音:
private void startrecording() {
audiofile = getAudiofile();
if (audiofile != null)
myaudiorecoreder = new MediaRecorder();
myaudiorecoreder.setAudioSource(MediaRecorder.AudioSource.MIC);
myaudiorecoreder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
myaudiorecoreder.setOutputFile(audiofile.getAbsolutePath());
myaudiorecoreder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
try {
myaudiorecoreder.prepare();
setRecordstatus(true);
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
myrecordtextview.setText("RECORDING STARTED..SPEAK NOW");
myaudiorecoreder.start();
// audiofile将提供声音文件。 这是getAudiofile()的代码,我从中获取文件(空)。 //
private File getAudiofile() {
String extState = Environment.getExternalStorageState();
if (extState.equals(Environment.MEDIA_MOUNTED)) {
File mediaStorageDir = new File(
Environment.getExternalStorageDirectory() + "/TAUKY/AUDIO");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
Log.e("SDCARD", "failed to create directory");
Toast.makeText(getApplicationContext(),
"FAILED TO CREATE DIR", 0).show();
return null;
}
}
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());
mediaFile = new File(mediaStorageDir.getPath() + File.separator
+ "SOUND_" + timeStamp + ".mp3");
// Toast.makeText(getApplicationContext(), "FILE CREATION DONE",
// 0).show();
} else {
Toast.makeText(getApplicationContext(), "NO SDCARD", 0).show();
}
return mediaFile;
}
现在在下一个活动中如何从SD卡的特定文件夹中检索,即/ TAUKY / AUDIO 感谢
答案 0 :(得分:1)
你的问题不是很清楚,但如果你想在SD卡中保存后播放该文件,你可以做类似的事情,因为你知道文件的路径。
FileDescriptor fd = null;
File baseDir = Environment.getExternalStorageDirectory();
String audioPath = baseDir.getAbsolutePath() + /TAUKY/AUDIO/SOUND_ + timeStamp + ".mp3";
FileInputStream fis = new FileInputStream(audioPath);
fd = fis.getFD();
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(fd);
mediaPlayer.prepare();
mediaPlayer.start();
我不是100%肯定,因为我无法测试它,但它应该是那样的。希望这会有所帮助。