Я пытаюсь записать звук с микрофона на эмуляторе Android с помощью этого кода:
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(Environment.getExternalStorageDirectory() + "/test/test.3gp");
try {
recorder.prepare();
}
catch (IOException io) {
Log.v(LOG_TAG, "Could not prepare the audio " + io.getMessage());
}
recorder.start();
Для остановки звука это код:
recorder.stop();
recorder.reset();
recorder.release();
ЗаписьПроцесс работает нормально, но результирующий звук искажен.Когда я записываю аудио в течение 60 секунд и воспроизводлю его, его продолжительность отображается как 120 секунд.Измерение не точное, но это только для того, чтобы дать вам представление.
Только эмулятор AMR_NB работает на моем эмуляторе.Я пробовал разные форматы вывода, но результат всегда одинаков.
Это ограничение эмулятора или я здесь что-то не так делаю?
Редактировать 1: Я тоже пробовал класс AudioRecord, и в результате получается тот же звук перетаскивания.1014 * Спасибо.