У меня проблема, когда я пытаюсь записать, а затем воспроизвести только что записанный файл. Я могу как записывать, так и воспроизводить звук, но качество воняет. Его не просто плохо, его действительно трудно слушать, и он звучит немного похоже на компьютерный голос. Я использую andriod SDK-эмулятор. Код для настройки записи выглядит так:
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
И код, воспроизводящий файл позже, выглядит так:
MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(path);
mp.prepare();
mp.start();
Я не знаю, какая часть заставляет звуковой файл звучать действительно плохо, или это просто эмулятор, который делает его плохим, и что он будет работать на реальном телефоне.