Как записать аудиофайл в Android

Я работаю в андроиде. Как записать аудиофайл через микрофон и как сохранить записанный файл в эмуляторе?

Solutions Collecting From Web of "Как записать аудиофайл в Android"

Легко записывать аудио в Android. Что вам нужно сделать:

1) Создайте объект для класса записи мультимедиа: MediaRecorder recorder = new MediaRecorder();

2) В эмуляторе вы не можете сохранить записанные данные в памяти, поэтому вам нужно сохранить его на SD-карте. Итак, сначала проверьте наличие SD-карты: затем начните запись с помощью следующего кода.

 String status = Environment.getExternalStorageState(); if(status.equals("mounted")){ String path = your path; } recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(path); recorder.prepare(); recorder.start(); 

3) Остановить, переопределить метод остановки деятельности

  recorder.stop(); recorder.release(); 

Вот хороший учебник с образцом кода.

Захват аудио в Android Developer

Он включает следующие этапы:

  • Создайте новый экземпляр android.media.MediaRecorder.
  • Установите источник звука с помощью MediaRecorder.setAudioSource (). Возможно, вы захотите использовать MediaRecorder.AudioSource.MIC.
  • Задайте формат выходного файла с помощью MediaRecorder.setOutputFormat ().
  • Задайте имя выходного файла, используя MediaRecorder.setOutputFile ().
  • Установите аудиокодер с помощью MediaRecorder.setAudioEncoder ().
  • Вызовите MediaRecorder.prepare () в экземпляре MediaRecorder.
  • Чтобы начать запись звука, вызовите MediaRecorder.start ().
  • Чтобы остановить захват аудио, вызовите MediaRecorder.stop ().
  • Когда вы закончите с экземпляром MediaRecorder, вызовите MediaRecorder.release () на нем. Вызов MediaRecorder.release () всегда рекомендуется немедленно освободить ресурс.

В принципе, нет простого способа записать аудиофайл как простой WAV-файл. AudioRecorder производит данные в формате Linear PCM. И API Android только дает вам буферы аудиоданных.

Вам нужно будет создать WAV-файл самостоятельно. Для вас это означает, что вам нужно добавить все куски самостоятельно: заголовок RIFF, FMT и DATA.

Я пробовал записывать wav-файл в android.but как-то его единственная запись wav-файла только в стерео. И вы должны использовать аудиомагнитофон со следующим параметром

 recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, RECORDER_SAMPLERATE, AudioFormat.CHANNEL_IN_MONO,RECORDER_AUDIO_ENCODING, bufferSize); recorder.startRecording(); 

И от рекордера u нужно записать все данные в один файл, а также вам нужно предоставить информацию заголовка

Ден просто делай

 recorder.stopRecording(); 

Но у меня есть jsut одна проблема в этом, даже если я даю AudioFormat.CHANNEL_IN_MONO..и все еще recod в стерео формате.хорошо мой ответ поможет вам .. если у вас есть это решение о mono channel.den вы также можете предложить мне