2

我希望将音频捕获期间创建的音频文件存储在内部存储器中并从那里播放。我在尝试这样做时让媒体播放器准备失败()

4

1 回答 1

6

这是一个如何使用MediaRecorder. 首先添加正确的权限(如果您选择使用外部存储,则需要添加更多权限)。

<uses-permission android:name="android.permission.RECORD_AUDIO" />

这会将音频记录在内部存储中:

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(getFilesDir()+"/audio.m4a");
recorder.prepare();
recorder.start(); 
...
recorder.stop();
recorder.reset();
recorder.release()

这会从内部存储播放音频:

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(getFilesDir()+"/audio.m4a");
mediaPlayer.prepare();
mediaPlayer.start();

getFilesDir()为您提供内部文件的路径。这是指向有关数据存储的更多信息的链接,http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

于 2013-08-09T21:00:50.007 回答