Задержка звука MediaRecorder

Хотя есть несколько вопросов по этому вопросу в stackoverflow и во всем Интернете, например:

Все эти ссылки относятся к периоду от 2010 до 2013 года, тогда как окончательного решения пока не найдено.

Моя ситуация выглядит так:

  1. Пользователь нажимает «Запись»
  2. Я начинаю опрос getMaxAmplitude()
  3. Когда амплитуда больше некоторого значения, скажем, 5000, я запускаю свой MediaRecorder. (функциональное требование)
  4. MediaRecorder записывает как видео, так и аудио.
  5. Пользователь нажимает «Остановить запись», сохраняя результат в виде файла .mp4.

Я ожидал, что MediaRecorder будет постоянно записывать как видео, так и звук. К сожалению, это не тот случай.

Как видно по первой ссылке, есть задержка, поэтому не записывается начало (что в моем случае является наиболее важной частью записи). Возможным решением было бы использование AudioRecorder или RehearsalAudioRecorder. Они, к сожалению, только аудио записывают.

Как бы я противостоял этой проблеме?


person James    schedule 04.10.2014    source источник