我希望在音频捕获期间创建的音频文件存储在内部存储器中并从那里播放。我正在尝试这样做时媒体播放器准备失败()
答案 0 :(得分:4)
以下是使用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。