Как записать аудиофайл с лучшим качеством в Android?

Я создаю одно приложение, которое воспроизводит записанный файл на Android на iphone и наоборот.

Теперь я использую,

audioRecorder = new MediaRecorder(); audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 

Файл, записанный с использованием этого кода, имеющего размер 85 кб / 15 сек. Также очень низкого качества.

Если я использую,

  audioRecorder = new MediaRecorder(); audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 

То размер файла составляет 25 кб / сек. И качество намного лучше, чем aac. Но проблема в том, что AMR не играл на стороне iPhone.

Поэтому, пожалуйста, предложите схему регистрации для Android, имеющую лучшее качество, доступный размер и можете играть на iphone.

Заранее спасибо.

Увеличьте значение recorder.setAudioEncodingBitRate (значение), если вы хотите изменить качество.

 recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax()); recorder.setAudioEncodingBitRate(16); recorder.setAudioSamplingRate(44100); recorder.setOutputFile(path); recorder.prepare(); recorder.start(); 

РЕДАКТИРОВАТЬ:

Другой вариант – добавить конвертер в ваше приложение. Преобразование AMR в AAC.

Эта ссылка очень полезна, проверьте ее: поддерживаемые форматы носителей Android

Этот раздел даст нам больше информации о форматах аудио и видео