我有這樣的代碼在我的項目來讀取音頻文件:無法在Android版中開啓SD卡中的現有文件工作室
MainActivity2:
private String getFilename() {
String filepath = Environment.getExternalStorageDirectory().getPath();
File file = new File(filepath, AUDIO_RECORDER_FOLDER);
if (!file.exists()) {
file.mkdirs();
}
return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + file_exts[currentFormat]);
}
private void startRecording() {
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(output_formats[currentFormat]);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(getFilename());
Log.i("Tag", getFilename());
ListeAudio.put(indice,getFilename()); // here is ListeAudio
path=getFilename();
recorder.setOnErrorListener(errorListener);
recorder.setOnInfoListener(infoListener);
try {
recorder.prepare();
recorder.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
MainActivity:
File AudioFile = new File(MainActivity2Activity.ListeAudio.get(z));
// ListeAudio return /storage/sdcard0/AudioRecorder/1433288052123.mp4
Uri AudioUri = Uri.fromFile(AudioFile);
vocal = MediaPlayer.create(MainActivity.this,AudioUri);
vocal.start();
這是行不通的,在logcat中有一個錯誤說: 未能打開文件'/storage/sdcard0/AudioRecorder/1433288052123.mp4'。 (沒有這樣的文件或目錄) 當我手動搜索文件資源管理器中的這條路徑時,我發現我想播放的音頻 文件。 我有AndroidManifest中的這個:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
請幫忙。
的編輯當我錄製音頻我保存文件,我加入ListeAudio路徑在另一個活動 –
@Omar使用它那麼你必須確保錄製的文件是可讀的。 – alijandro
如果我手動進入資源管理器文件,我可以播放它 –